It's inexpensive, but that's only the beginning of the story
By Tom Yager
You don't always get what you pay for. You can spend $1000 or more for fully tricked-out Unix for your PC. Or for about $25, you can get Linux, a Unix variant, which is just as good for running an in-house BBS, an employee information system, a World Wide Web server, or a Usenet news server.
But economy is only a small part of the Linux story. This OS has created a troop of dedicated followers who can act like monks revering an ancient religion, complete with a geek mythology of wizards and daemons. The passion -- and even fanaticism -- that true believers feel for Linux creates some striking similarities with hyperloyal Amiga users (see the sidebar "The Sound and the Fury").
Why do otherwise normal people become so passionate over mere software? There's no simple answer to this question. To understand Linux, you first have to understand its various pieces. Next, you must get a feeling for what it's like to actually run the OS. The technical analysis and road test that follow should help you see why Linux is not just another OS.
Something for Everyone
Most of the popular CD-ROM distributions of Linux fill three or four discs with software. There's the core OS. There are hundreds of utilities, from flat-file databases to system management. Programming languages include C, C++, Perl, and TCL. Practical programs, such as spreadsheets and text editors. Text formatting. A Display PostScript clone. Network support. Graphical applications. Games. And tons of source code.
The complete source code is in every commercial distribution of Linux, and this is partly what's special about the product. You can touch every line of code for every function call, every utility, everything in Linux (see the figure "Linux to the Core" ). The Free Software Foundation mandates this openness with a "copy-left" license that grants users the right to modify and redistribute Linux. You can even charge whatever you like for it, but you must make the source code freely available.
Even if you don't care about the source code, Linux deserves respect because it holds nothing back. Early versions of Unix were the same way. The C compiler and a full set of utilities came with every copy. With commercialization came the brilliant strategy of unbundling: Strip down the OS and then charge users for the pieces to build it back up again.
This decidedly un-Unix-like approach didn't cause the birth of Linux, but its widespread success can be partly attributed to the bungling of commercial Unix vendors. Some companies, such as Novell (before it sold UnixWare to The Santa Cruz Operation), realized the folly of unbundling and began to sell more complete packages. But a commercial PC Unix with an unlimited user license, development tools, and server applications still costs $1000 or more. At $25 to $50 with all these features, is it any wonder that Linux is winning the favor of even commercial users?
Linux's roots lie in Minix, which is a public domain PC Unix. Minix had limited capabilities and device support, but its small stature translated to clear, easily understood code. Minix was a popular teaching tool in computer science classes. Linus Torvalds created a Minix-like OS that came closer to real Unix in functionality and provided the OS with its name.
Before long, programmers throughout the world began contributing to his efforts by writing device drivers and adding utilities and other programs. Many of these pieces are real Unix. A large number of the utilities and much of the networking support came from BSD, the Berkeley Standard Distribution edition of Unix.
Clever programmers re-created portions of Unix code when licensing restricted redistribution of the code. In some cases, the re-creations outdid the originals. For example, the vi editor is done better in Linux than in other Unix versions. Some programmers are even working on the whimsically named Lesstif, a freeware clone of the Open Software Foundation (OSF)/Motif graphical interface. Linux now has an impressively complete set of commands and utilities.
Most Linux programmers keep their day jobs but still manage to crank out new releases of code every few weeks. Device support, bug fixes, and cross-platform porting take center stage in most releases. Torvalds maintains control of the kernel, while others tend to the work of combining core Linux with the utilities, tools, libraries, and other software that turns it into a Unix clone. The bundles come in distributions.
Between the work being done for Linux and programmers coding freeware for Unix in general, Linux has plenty of impressive add-ons. Samba adds NetBIOS support, allowing a Linux machine to service a LAN of Windows for Workgroups or Windows 95 clients. DOSEMU lets you run DOS programs, and Wine, while still in the works, will provide Windows 3.1 binary application compatibility.
Support for the ELF binary format is the first step toward allowing UnixWare, Solaris, and other System V PC Unix binaries to run on Linux (and vice versa). In that vein, programmers are under way with Intel Binary Compatibility Standard (iBCS) porting efforts. The objective is clear: Linux users want their OS to be both source- and binary-compatible with other commercial PC Unix OSes.
At this writing, Torvalds reports some success getting Linux running on Digital Equipment's Alpha CPU. It already runs on the Amiga and some other systems with Motorola 68000-series processors. As new ports are undertaken, the Linux kernel will become more easily portable.
Other vendors should envy Linux's record of rapid adaptation. When new drive and CD-ROM controllers, motherboards, BIOS ROMs, and other hardware appear, it won't be long before someone tweaks Linux to work with them. A notable exception is display cards. X Window System display drivers aren't easy to write, and some card manufacturers are reluctant to document low-level details of their boards for Linux's "casual programmers." Thus, while some display cards work well, others work badly or not at all. If you have any interest in Linux, you should check your system's configuration against the list of supported devices.
Linux, touted by fans as a free OS, carries some costs. Only those with high-speed Internet links can afford to download it. It is there, free, if you have the time. Two U.S. sites are Sunsite (sunsite.unc.edu) and TSX-11 (tsx-11.mit.edu). (See the table "Linux On-Line" for a list of FTP sites carrying Linux.)
But for $25 to $50, you can pick up a set of CD-ROMs, sometimes bundled with a manual. Slackware is the most widely used and distributed version on CD-ROM. Slackware's trademark is its interactive installation program. This may lull you into thinking that installing Linux is a cinch; it's not. Just as in the old days, you need to know what you're doing or be willing to learn before using Linux.
For example, if you're running a CD-ROM drive attached to a sound card, you might be in trouble. Linux identifies some sound cards and supports their CD-ROM drives in many cases. But you may find that your card isn't on the list, and you'll have to try a few different drivers. Display cards are the same way. Your card might have the same controller chip as a supported card, but it might not work.
It's much easier to configure your hardware for Linux than to get Linux adapted to your hardware. The first step is to check your system against Linux's requirements . Linux will run on a 386-class PC or better with 8 MB of RAM, and you can install it on a hard drive as small as 20 MB. You should consider a CD-ROM drive essential. Linux supports CD-ROM drives attached to popular SCSI controllers, as well as many sound-card, IDE, and other low-cost implementations. A Sound Blaster, Windows Sound System, Pro Audio Spectrum, or compatible sound card should all work well.
Linux lets you decide how deep into its internals you want to go. You can just dip your toe in the water by loading a subset of Linux onto your DOS file system and running it from there. There is even a DOS command that loads Linux. You can also run it directly from a CD-ROM if you're just curious. But running Linux in its own partition is the only way to fully savor it. Linux includes an fdisk program that creates partitions for you.
Create at least two partitions: one to hold your files, and a second to hold your swap area. (Theoretically, you won't destroy data if you add partitions to your disk rather than change existing ones. However, most DOS users allocate the entire disk to DOS, so they usually have to repartition with data loss.) Swap areas are vital if your machine has 8 MB of RAM or less. The swap area should be 1.5 to 2 times the size of your physical memory. If you have more RAM, you can get away with having a smaller swap area.
Unless you're purchasing one of the rare floppy disk distributions of Linux, you need to have DOS running to begin the installation. Under DOS, you'll create two floppy disks: a boot floppy disk and a root file system floppy disk. There are several types of boot and root images, creating confusion. On one system with an Adaptec 1542 controller, we had to use the boot image named scsi. The kernel on the root floppy disk is just a starting point; the real kernel, the one that will boot from the hard drive, installs from the CD-ROM.
The typical Slackware installation is a labyrinth of questions. You'll be given the option to install everything, but don't take it. You need to choose just one kernel type from several on the CD-ROM. And you must select just one display card if you plan to run X.
Linux is smart about sensing drive controllers and network cards. Smarter, in fact, than most other OSes. If you tell Slackware that you want to use its TCP/IP networking features, it prompts you for all the relevant configuration details. This is sweet: 30 seconds of prompted questions got the test machine configured on an Internet-connected LAN. On reboot, Linux sniffed out our network card and brought up the LAN link.
In testing two commercial Slackware distributions -- Morse Telecommunication's Slackware Professional and WGS Linux Pro from WorkGroup Solutions -- we found that both had the latest binary (ready to run) versions of the best freeware. The two versions offer great clients, like the Pine E-mail shell, the GNU emacs editor, the tin newsreader, and a terrific X window manager called fvwm. In addition to telnet and FTP, the Linux products include server software for HTTP, Usenet news, NetBIOS networks, BBSes, and NFS. Even though these two Linux offerings didn't license the real things, you'll find satisfying imitations of the Korn shell and the Motif window manager.
Linux boots faster, runs with lower resources, and is more responsive than any of the more expensive versions of Unix. But we did not get satisfactory behavior from the XFree86 X implementation -- a common complaint among Linux users -- until we changed display cards twice.
If you're serious about running the X server, consider buying Metro X or one of the other commercial X implementations available for Linux. These often come with true OSF/Motif, and the display-card support is superior than that in the freely distributed products. Just remember that Linux runs great in text mode. You don't need to run the X server on your Linux system to serve graphical clients to the rest of your network (or the Internet).
Whom Do You Trust?
Linux runs on many kinds of hardware, even old 386s, so deciding whether or not to buy it is a no-brainer for Unix aficionados and students of computer science. If you want to learn OS principles, C++ programming, X development, or Hypertext Markup Language (HTML) authoring, the better Linux distributions have all the tools you need. For businesses, Linux can turn a retired 386 or 486 system into a capable information server for internal and external users.
Can corporations afford to put their faith in an unsupported OS like Linux? Many Unix users complain about big-name OSes letting them down. Large Unix vendors often take a long time to identify and fix problems.
Linux developers boast a quick turnaround time on problems. Issues with the core OS do get resolved rapidly, but there isn't yet a painless way to patch a running system. The trick to stability seems to be to hang back a few releases from the latest version. Torvalds is explicit in classifying which releases are safe and which are in beta testing. The keepers of Slackware advise users to do a complete reinstallation for every new release. The Slackware releases feature only stable, well-established kernels, and you might be tempted to upgrade yours to a later release you see on the Internet. Unless you're just tinkering, you probably shouldn't upgrade until Slackware does.
Linux has proven itself in the field of network services, which makes it a solid choice as an Internet server for low-volume applications. It also makes a good, cheap router and can even be set up as a firewall.
What mostly keeps Linux out of the major leagues is its lack of support for enhanced system configurations. Its standard file system is quick enough, but it lacks such needed features as mirroring, striping, fault tolerance, and journaling. The OS is also limited to single-CPU systems. Torvalds is working on multiprocessor support to change this limitation.
The evolution of Linux will be fascinating to watch. If it is an alternative to overstuffed, impersonal versions of Unix, won't adding multiprocessing and all that jazz eventually make it just as unmanageable? We hope not, because in these days where everything technical is sanitized, commoditized, and idiot-proofed, it's great to know that the Linux world is still a place where the wizards can hang out.
Slackware Linux....................$39.95 Walnut Creek CD-ROM Concord, CA (800) 786-9907 (510) 674-0783 firstname.lastname@example.org http://www.cdrom.com Circle 1066 on Inquiry Card. Slackware Professional.............$49.95 Morse Telecommunication Long Beach, NY (800) 606-6773 (516) 889-8500 email@example.com http://www.morse.net Circle 1067 on Inquiry Card. WGS Linux Pro 3.0..................$99 WorkGroup Solutions Aurora, CO (303) 699-7470 firstname.lastname@example.org Circle 1068 on Inquiry Card. HotBYTEs - information on products covered or advertised in BYTE
-- Core OS -- Hundreds of utilities, from system management to flat-file databases -- C, C++, Perl, TCL, and Intel assembly language -- Application programs -- A Display PostScript clone -- Network support -- Games -- Source code for everything in Linux
-- 386-class system or higher -- 8 MB of RAM -- 20-MB hard drive -- CD-ROM drive
Key FTP sites Site name IP address Directory sunsite.unc.edu (U.S.) 188.8.131.52 /pub/Linux tsx-11.mit.edu (U.S.) 184.108.40.206 /pub/linux nic.funet.fi (Finland) 220.127.116.11 /pub/OS/Linux Mirror sites (These may not have the latest updates.) ftp.uu.net (U.S.) 18.104.22.168 /systems/unix/linux wuarchive.wustl.edu (U.S.) 22.214.171.124 /systems/linux ftp.informatik.tu-muenchen.de (Germany) 126.96.36.199 /pub/Linux ftp.mcc.ac.uk (U.K.) 188.8.131.52 /pub/linux ftp.ibp.fr (France) 184.108.40.206 /pub/linux kirk.bu.oz.au (Australia) 220.127.116.11 /pub/OS/Linux NOTE: IP addresses and directory locations sometimes change. Choose the FT P site closest to you. If you plan to transfer several large files, wait until well after business hours in the time zone of the host system.
Linux to the Core
The basic Linux framework evolved from work by Linus Torvalds and contributing programmers throughout the world. Commercial distributions of the OS build on this base.
Tom Yager is a writer and researcher at his private lab in North Texas. You can reach him at email@example.com or check his lab's server (sorry Linux fans, it's UnixWare) at http://www.maxx.net .
Commercial Linux Carries Improvements
New commercial versions of Linux should provide better documentation and support, as well as additional ports to familiar business applications. For example, the Caldera Network Desktop includes WordPerfect 6.0.
Copyright © 1996 CMP Media LLC