Power of Cooperation

Linux, a truly robust Unix clone, has evolved out of the Internet--and it's freely available

J. Bruce Dawson
BYTE

September 1994

Linux is not just another implementation of Unix. It's a complete rewrite, with an interesting history and some attractive features, not the least of which is its price tag: It has none. Linux is free--at least free from the more traditional license restrictions that come with commercial Unix. You can get it off the Internet from a number of sites for just the cost of the file transfers, or even on CD-ROM for a nominal price. And it comes with the source code.

In spite of its freely available nature, Linux is not public domain. Some of the code is bound by the Free Software Foundation's General Public License: You can copy and redistribute the associated software so long as the sources are readily a

Family Tree

Unlike commercial versions of Unix, Linux was developed by a large number of unrelated individuals located all over the world (most of them are on the Internet). Contributors include the originator, Linus Torvalds (who lives in Finland) and the University of California at Berkeley (the originators of BSD Unix). The contributors all have differing interests, but they share a common goal: to create a freely available operating system and software that will serve the needs of power users.

A Unix look-alike, Minix, was Linux's physical ancestor, with Unix an obvious spiritual ancestor. But don't fall into the trap of viewing Linux as commercial software. Linux was developed in a somewhat anarchistic fashion by individuals working together to create a Unix that was free of the usual Unix licensing hassles; but the developers also wanted t o do it ``right,'' rather than just for profit. Not all of the work was a coordinated effort, and as a result there are several different Linux sources available, some better than others. The decision as to which Linux binaries (and sources) to use is not an easy one.

When I first heard about Linux, I was skeptical. Unix is just too complex a system, I thought, for a few people to put together and give away. Unix vendors want us to believe that it took thousands of labor years to put together their systems. Linux seemed like a fantasy that couldn't possibly be a serious solution.

Turnkey Linux

I simplified the processes of installing and configuring Linux by reviewing it on a system built and configured by Fintronic, a small company that specializes in assembling PC clones for Linux. The company claimed to have taken the best of the different implementations of Linux to build its systems.

I anticipated a lot of tinkering on my part just to get the system up and running, but everything worked surprisingly well right out of the box. Of course, things were not as well integrated as they would be in a commercial Unix. For instance, the documentation didn't always match what was installed on the system.

One of the problems Fintronic has had to deal with is a result of Linux's rapid flux: There have been new releases every few weeks, and tracking compatibility of the various component versions is time-consuming and tedious at best. A full Linux implementation is actually composed of software from many different development sites. There isn't a single point of distribution. Just tracking the source sites and juggling the file transfers can be a hassle. Fintronic must spend an enormous amount of time compiling and configuring each system with all its peripherals.

Fintronic had configured the system with a sound board, speakers, a CD-ROM drive, a 530-MB drive, a 4-mm DAT (digital audiotape) drive, 16 MB of RAM, a nice tactile-response keyboard, and a 17-inch ViewSonic display. Knowing of some problems with serial ports, I had ordered an upgrade to include the 16550A UARTs (universal asynchronous receiver/transmitters), and the system came with those already installed. The CPU was a 66-MHz 486 with 256 KB of cache memory. When I powered it on, the system asked if I wanted DOS or Linux. After about 10 seconds, it defaulted to Linux. The operating system came up in under 2 minutes (not including the operating-system prompt/time-out)--one of the faster Unix boots I've seen.

I logged in, made sure that most of the Unix commands I'm familiar with were available, and started the X Window System (using startx). There were no unhappy surprises--X came right up. X had been configured to use fvwm as the window manager. This wasn't a window manager I was familiar with, but it looked very much like Motif's mwm. I could get around without learning too many new interface elements. I started an xterm window (which was nearly instantaneous) and modified the window manager's initialization and configuration file for my account. I restarted the X server from the pop-up menu. No crashes. It was time to connect the machine to the network.

On the Network

In the process of learning about fvwm, I discovered that most of the man pages were included with the system. Unfortunately, not all man entries were accurate as to where files lived and which other software components were on the system. For example, the networking man pages assumed that many of the networking files lived within the Berkeley directory scheme, whereas Linux has a slightly different directory layout. Fortunately, I had enough Unix experience to guess where the files should be.

My first real problem was essentially that there is no real documentation other than the man pages and a small looseleaf binder Fintronic sent that contains some minimally out-of-date system administration information. The Linux administrator is expected to get documentation from conversations in the Usenet newsgroup comp.os.linux.

Agai n, Fintronic had done all the hard work of configuring the network card and establishing basic network operations. All I had to do was set up the IP addresses and host names. After configuring NFS (Network File System), I was able to mount remote disks on the Linux system and NFS-mount Linux disks on other systems. FTP worked without a hitch, as did Telnet. Even the PC-NFS server would start up and run. I could rsh to other systems, as well as rlogin.

It appeared that the network was operational. Well, not quite: I didn't get the name server properly configured, and I could not rsh or rlogin into the Linux system until I had both the full qualified name (including the domain of the host) and the host name for each remote system in /etc/hosts.equiv--a detail that would not be obvious to a neophyte Unix administrator, especially without documentation.

Linux isn't a bare-bones Unix clone. There is plenty of meat. In the process of getting all the facilities of Linux configured, I discovered that it has TCPD configured into its inetd.conf file. This is a nice feature that allows you to control incoming TCP access to your host. It was comforting to know that it was there.

Most of the features that I found on my Fintronic system (see the text box ``Fintronic Linux Features'') are widely available, but they're not necessarily all available from the same source. I ran BYTE's Unix Benchmarks on the Fintronic Linux system. The system (a 66-MHz 486 with 16 MB of RAM and a 530-MB hard drive) performed exceptionally well. There was some degradation on disk-access speed and pipe-based context switching when the system was normally loaded with more than a single user on it, but the unencumbered system performance was equivalent to that of a far more expensive RISC workstation.

Sold on System

On looking back at the start of this project, I find that I am now wearing the proverbial egg on my face. I'm not just favorably impressed with Fintronic's Linux system; I pulled out my credit card and ordered a Fintronic system for my personal use.

Some warnings, though: Unless you know a lot of Unix (and perhaps even have been following the Linux newsgroup discussions on the Internet's Usenet), you will need more documentation than is available, even if you obtain your Linux from a company such as Fintronic. As the ``copy-left'' rules state, the source code is readily available, here and there if not on your system. But if you need basic documentation, the source code isn't likely to help you much.

Linux has become what the Internet community wanted: a robust, freely available environment that has all the features of many commercial versions, but with the openness and cooperative spirit of the early days of Unix. It's anarchy at its best.


The Facts

Fintronic USA, Inc.
1360 Willow Rd., Suite 205
Menlo Park, CA 94025
(415) 325-4474

Fintronic Linux Features

Here are some of the other features that Fintronic configures in its Linu
x systems:

-- DOS emulation. Note that this is still considered to be under test and not
   production quality, but it worked well enough for me (even though it
   doesn't run Windows).
-- DOS file-system access. When Linux is running, users can access any DOS
   file systems that might be present on the system (e.g., hard drives and
   floppy drives).
-- Most, if not all, of the GNU software; compilers, GhostScript, and so on.
-- TeX and LaTex typesetting software.
-- CD player software (WorkMan).
-- SoundBoard drivers.
-- InterViews--a library of X Window System functions and programs.
-- OpenLook and XView--a library of X functions and programs.
-- C-News--the NetNews server software (and several news readers). 
-- Shared libraries--makes executable files smaller by sharing common code.
-- Dial-up IP and SLIP.

Illustration: When I logged in, most of the Unix commands I'm familiar with were available, and the X Window System came right up. X had been configured to use fvwm as the window manager. This wasn't one I was familiar with, but it looked very much like Motif's mwm. I could get around without learning too many new interface elements.


J. Bruce Dawson is a consultant working for Virgin Software, Ltd. (Manchester, NH). He has been developing low-level Unix, VMS, and DOS applications for the last 10 years. He can be reached on the Internet at jbd@virgin.mv.com or on BIX c/o ``editors.''

 

Copyright 1994 CMP Media LLC,