LEANING TOWARD LINUX PC Magazine, July 1997

Powerful, robust, and free, Linux is worth investigating, especially if you plan to set up an Internet domain.

By Neil Randall

The more you explore the Internet, the more you hear about Unix, the powerhouse operating system on which much of the Internet was originally developed. Unix sounds intriguing, but who wants to pay for another operating system, not to mention an expensive workstation to run it? But what if you could try it out for free, right on your PC?

In fact, you can. A free clone called Linux (pronounced LIH-nuks, it rhymes--almost--with pinups) has become the Unix of choice not only for individual users but also for a growing number of businesses. Why? Because Linux is a multiuser system with full preemptive multitasking capabilities, and it runs the important Unix tools, applications, and protocols, such as TCP/IP, the pine and elm e-mail clients, the vi editor, Emacs, TeX, and--perhaps most importantly--the graphical X Window system, which ships with Linux in a free version called XFree86.

Linux was introduced in 1991 by Linus Torvalds (hence the name Linux), then a student at the University of Helsinki in Finland, who made the entire project, source code and all, available on the Internet for anyone to hack. And hack they did. Over the years, hundreds of programmers added to the code, changed what needed to be changed, and built in support for all kinds of hardware, especially Intel-based machines. In fact, while there are versions of Linux for several hardware platforms, the most interest has been among PC owners who want Unix but not the cost of a workstation.

Linux is covered under the Free Software Foundation's GNU Project General Public License, which allows authors to hold copyright (Torvalds is the copyright owner of the Linux kernel) but also demands that all source code for the software be publicly available for massaging by other developers. Modified software can then be sold or given away by these developers, but they too must make the code available. This explains why commercial versions--Redhat and Debian, for example--are also available via download for free. Commercial Linux distributors make money by adding value--in the form of additional utilities--on their CD-ROM versions. And many users would rather buy a CD-ROM than download a few hundred megabytes of files.

Why use it? Linux is a multiuser system, which means that it's superb as a networking environment. Unix was designed from the ground up with networking as its core, so this isn't surprising. In addition, all kinds of Unix software are available on the Internet for download, including, among others, the Mosaic and Netscape browsers. Yes, you can get these with Windows, but typically your entire Internet experience will be faster through Unix. Fascinating and free X applications are being developed constantly, so you'll never run out of programs with which to work. Besides, in running Linux you're also supporting something for which the Internet was initially designed: the collaboration of intelligent people on freely distributable tools. Aside from its power and sophistication, Linux quite simply makes you feel good.

FINDING OUT

The best place to find information about Linux is, not surprisingly, the Internet. Your first stop should be the Linux Information Page at www.linux.org, which will give you access to the ongoing Linux Documentation Project, FAQs, and how-to files; the Linux Gazette online magazine; Linux press releases and information; and other Linux sites on the Web. In addition, a link called Where to Get Linux will take you to a site showing the FTP sites for the main Linux distributions.

Technically, Linux consists only of the operating system kernel. But Linux has come to mean the kernel plus a big bundle of applications, utilities, libraries, and documents. Together, the kernel and the bundle are called a distribution. The Slackware distribution is the best known and can be found at ftp.cdrom.com/pub/Linux/slackware. Mac users can get the MkLinux distribution from ftp.mklinux.apple.com/pub. More recent major distributions include the Debian (ftp.debian.org/debian) and RedHat (ftp.redhat.com/pub) distributions, both of which are commercially supported, and both of which offer a friendlier interface for installation than Slackware's. All distributions are mirrored on the Sunsite archives at sunsite.unc.edu/pub/Linux and several other FTP sites.

All distributions of Linux are available on CD-ROM, but you can get them directly from the Internet instead. There are two ways to do this. The first option is to FTP the entire distribution to your hard disk, then install Linux from that drive. Or, if you're connected to the Internet via a machine with a fixed IP address (that is, you've set up a fixed IP in your TCP/IP configuration), you can actually install Linux over the Internet. This is recommended only for those with high-speed Ethernet access, because it means transferring between 100MB and 400MB of files. But it works, and it guarantees that you have the latest version of your distribution.

Initially Unix, and therefor Linux, seems forbidding, especially compared with the nice, friendly, plug-and-play Windows 95 environment. And, make no mistake about it, Linux is hardly a beginner's dream scenario. But it's not as difficult to install and use as the buzz might suggest, and the fact that it's free counts for a lot. Besides, knowing Unix can't be a bad thing for your career, and Linux makes learning the popular OS more comfortable than you might think at first.

That said, don't even consider trying to install or use Linux unless you have a good grounding in, at the very least, DOS. Installing Linux demands a great deal of patience, primarily because typically you'll have to retry several times. Once it's installed, you'll find yourself, at least temporarily, in the text-only world of Unix, with a set of cryptic commands that may very well have you waxing nostalgic about your old C: prompt. The installation procedure is arcane at best, even for the friendliest packages. For all of these reasons, your best bet is to pick up one of the Linux books in your bookstore, some of which benefit you not just by showing you how to install and use the OS, but by carrying at least one full Linux distribution on an enclosed CD-ROM.

GETTING STARTED

You begin a Linux installation by making a drive partition available for Linux's own use. You'll want to clean off an entire partition, such as your D: drive, in preparation. It is possible to install Linux to a DOS partition through the UMSDOS file system, but this is still experimental and is potentially damaging to PCs running Windows 95. (Linux can read DOS partitions, by the way, but the reverse is not true.) Next, write down the names, models, and hardware settings (IRQs and so forth) of your hardware. Windows 95 users can get the hardware information from the Device Manager in Control Panel, DOS and Windows 3.x users from the CONFIG.SYS and AUTOEXEC.BAT files. You should have a 1.44MB floppy disk drive as your A: drive; format two 1.44MB floppy disks (it's possible to install from 1.2MB floppies, but not recommended). Next you need to write the appropriate boot-disk image to one floppy disk and to write the appropriate root disk, RAM disk, or supplementary image--different distributions give them different names--to the other. Some distributions, such as RedHat 3.0, require three disks: a boot disk and two RAM disks. You'll find the relevant information on your Linux CD-ROM or the FTP site, usually in a file called something like Install.txt. In fact, read all the .TXT files you can find, because they all contain potentially indispensable information.

It may seem odd to focus so strongly on the floppy disk preparation, but except for the installation of XFree86, it's probably the most trying part of the process. There's no setup icon in Linux, and you have to do most of the work yourself. Your first task is to locate the appropriate boot disk image for your hardware. In order to do this, you need to know how your PC is configured: whether it uses an IDE or SCSI CD-ROM drive, and whether that CD-ROM is a special model. Linux doesn't do plug-and-play, and while it probes for equipment, it can't do anything if you don't give it the right boot disk to get started. You then need to create the root disk, RAM disk, or supplementary disk. Both of these disks are created with a DOS utility called rawrite, which is always packaged with the distribution.

Once these disks are created, the fun begins. You restart your machine with the boot disk in A:, then watch as Linux starts up. If all goes well, it will ask you for your RAM disk, or Disk 2, or whatever it's called (often not what you labeled it), and then, eventually, you will get to a login: prompt. The system will tell you to log on with the user name root to get started, after which you must create the two required Linux partitions (called Swap and Native) using fdisk. There are prompts to help you create the partitions, but be careful that you don't destroy your DOS/Windows partition in the process and lose all your data files. Once the Linux partitions are in place, typing "setup" will bring up a very DOS-like menu, and as long as you read the prompts carefully, the procedure should go relatively smoothly. You must activate the Swap partition using addswap and mkswap and then format the Linux Native partition to hold the actual OS. At that point, specify your source (CD-ROM, hard disk, tape, or Internet), and then follow the prompts until you get a chance to select the packages you wish to install.

THE PACKAGES

Each distribution of Linux comes with a series of software packages, and at installation time you choose which to install on your system. Each package contains a number of files, including applications, utilities, tools, and other binaries. The packages are given letters and abbreviations to help you decide, but the setup menus for the major distributions guide you through the packages quite well. You have no choice about installing the a package, which contains the Linux system files and shells, but beyond that it's up to you. It's a good idea to install a fairly basic system first, then rerun setup or use a program called pkgtool to install the rest later.

Packages range from ap--which contains text-based applications such as text editors, help pages, and even an audio CD player--to d, which includes program development tools. The n package gives you networking tools and applications such as TCP/IP, PPP, newsgroup readers, and the popular e-mail clients pine and elm. Package e gives you the Emacs word processor, while t contains the popular text formatter TeX. The x series of packages gives you the entire X Window environment, including applications such as terminal programs, spreadsheets, games, graphics editors, and development tools. You select all these from the setup menu (including individual programs if you wish), and then install does the rest.

The final stage is configuring LILO, Linux's boot manager. Once LILO is installed, it's the first thing you see on your screen when your machine boots, and you use it to launch either Linux or DOS/Windows (or another OS, such as OS/2, if you have one).

If you have installed XFree86, you're ready for the most difficult task of all, configuring X Window, but that's a subject for another column. For now, just reboot your machine, select Linux from the LILO prompt, and wait until the login: prompt appears. Type root and you're into the system. At this stage you'll want to learn how to find your way around Unix, then run a few programs and see how it goes.

HARDWARE NOTES

Linux gives PC owners an extremely fast and powerful Unix system. It supports a constantly increasing number of PC-based CD-ROMs, SCSI adapters, Ethernet cards, video accelerators, and sound boards, as well as the ISA, EISA, VLB, and PCI buses. It runs on as little as 2MB of RAM, although, as with all operating systems, the more RAM the better. A full set of packages, including X Window, runs just fine on a 486 with 16MB of RAM and a 540MB hard disk, which means you can still get some use out of your old machine.

In fact, your old machine might very well be your best bet, for several reasons. First, as mentioned above, Linux needs two disk partitions of its own, a small one for swap files and a large one (at least 300MB, realistically) for the operating system, utilities, and applications. Most of us have no unpartitioned space on our disks, and while programs such as Partition It and the freely available FIPS make it possible to repartition, we're usually reluctant to do so except on a secondary machine. Linux also wants the first or second partition of the disk for installation so that it can automatically boot from that disk, and many users' machines have multiple partitions that can't be changed.

The second reason for using an older machine is that while Linux developers work very hard to insure support of all PC-based hardware, a newer machine means there's a reasonable chance that something on your system won't be supported. That's especially true of video cards and monitors, which present the single greatest obstacle to Linux installation. Text-based Linux itself runs on any standard VGA card and monitor, but X Window can be notoriously difficult to configure with anything other than industry-standard video hardware. Other difficulties come with less common CD-ROM drives and controllers.

The best favor you can do yourself if you're contemplating Linux is to use well-known equipment such as SMC or 3Com networking cards and ATI, Diamond, Hercules, or S3 video cards. If you've just bought a great new 3-D video card, for example, there's a very real chance you can install Linux but you won't be able to run X Window. Your Linux CD-ROM should provide most of the compatibility information you need, but for the most up-to-date advice, visit an FTP site that contains your distribution.

Now you've installed a full Unix-based operating system, and anything Unix can do, you can do as well. You have everything you need at your disposal, but unless you already know Unix, Linux is anything but a quick learn. In the next issue we'll take the next step, with a discussion about basic Unix, running programs, and installing and using X Window.


Neil Randall is a frequent contributor to PC Magazine.