Linux Distributions Compared
The first Linux distribution designed for CD, Yggdrasil has had continued popularity due in part to graphical configuration, bootable floppies included with the distribution, and multimedia support.
Yggdrasil has had a history of including kernels with patches they have tested, but which aren't included in the standard Linux kernel. Fall '95 continues this tradition.
After installing the “Suggested” configuration (at 250 MB, the only choice smaller than “Everything”, which takes 600MB), it is impossible to compile the kernel without either mounting the CD or installing some packages that aren't installed as a part of the “Suggested” configuration. The manual doesn't say what packages need to be installed to build the kernel with the CD removed, and since the control panel doesn't show which packages are already installed, it's not clear what packages need to be installed. Even after installing all the needed software components, we still had to figure out that we had to remove /usr/src/linux/include/linux/version.h in order to successfully build the kernel; we were not able to find that in the documentation. This would not have been an important issue except for the fact that the standard kernel didn't support the 3C509 Ethernet card, and we needed to build a kernel with 3C509 support in order to test the networking setup. Further testing showed that several functions of the basic control panel, such as printing, also did not function with the “Suggested” configuration unless the CD-ROM was mounted.
Although running Yggdrasil without the system CD mounted can take some work, Yggdrasil is one of the few distributions able to run entirely from the CD. This capability has been included with Yggdrasil for some time and is a great way to demonstrate Linux to skeptical friends. Not surprisingly, running multimedia applications under X entirely from the CD-ROM takes considerable memory; it doesn't work well with less than 16 MB of memory.
Yggdrasil doesn't set up networking as part of the installation, but it does provide a graphical tool for setting up basic networking once you get X set up. It also has a reasonably easy X setup program that gets invoked automatically when you start X, if you haven't already configured X. It also tells you how to re-run the configuration if you aren't satisfied with the first configuration you produce.
Yggdrasil doesn't come with some programs that are now considered standard with Linux, such as rxvt. On the other hand, it does seem to include a fairly full range of multimedia tools. The PC Speaker sound patches, which provide sound capabilities through the standard PC speaker, are already applied to the supplied kernel source tree and are one of the configuration options. Yggdrasil also comes with XEmacs, a version of Emacs with a good graphical user interface.
You will find Yggdrasil on the Web at www.yggdrasil.com.
Reading the Feature Chart
First, a word of warning: while the feature chart is intended to help you compare the features offered by different distributions, it doesn't say anything about the quality of the features. The chart doesn't tell the whole story, nor does this article, because it is impossible for a chart or article to do so. The chart can give you an idea of what the vendors are trying to provide with their distributions.
A “no” isn't necessarily a strike against a distribution. Don't sit down and count up the number of boxes with “yes” in them and consider that a reasonable ranking of the distributions. Instead, consider the features that you particularly want and need. If you have further questions, contact the vendors and ask. Buy from vendors with a money-back guarantee if you are worried that you will get stuck with a distribution you don't want.
The labels on the feature chart (page FIXME) aren't entirely self-explanatory, as you may have already noticed. An explanation of the entire chart is in order here. If there is any part that you don't understand or are not interested in, feel free to skip it. Starting from the top...
Like everything else, the vendor's list price isn't necessarily the price you will pay. Nearly all of these distributions are re-sold. Also, like Linux itself, Debian has no official vendor and no official vendor price. The Debian distribution is made available for ftp from ftp.debian.org, and several vendors provide it, either as the sole distribution on a CD or as part of a collection.
Slackware, Debian, and Red Hat are all contained on archive CDs containing snapshots of ftp sites. They don't come with paper manuals when you buy them that way, but they are often less expensive. Technical support is not included with most archive CDs, so if you expect to need a helping hand with your installation, this may not be the easiest way for you to go.
Packaging is technology for easily and correctly installing, removing, and upgrading parts of the system. Each part would include several inter-related files. For example, all the standard include files would probably be included in the same part. The first line of the Packaging section indicates whether you can at least add and remove packages with the provided package management tools.
Package upgradability involves preserving (as much as possible) the configuration of the package correctly on the hard drive while installing a new version. This involves at the very least some method of distinguishing configuration files from other files, so that when you upgrade, a package's configuration files are not changed, and you do not have to re-configure the package. If the package management tools are unable to preserve the configuration untouched (for example, if the format of a configuration file changes with a new version), the package management tools need to notify the administrator of that fact.
Dependencies are a capability which allows one package to require that another package also be installed. For instance, LaTeX requires that TeX also be installed, so if LaTeX and TeX are provided in separate packages, the package containing LaTeX may require that the TeX package be installed first, since the functionality of LaTeX depends on it.
Dependencies are usually absolute; a package either requires or does not require another package in order to function. Debian allows fine shades of distinction: A package can absolutely depend on another package being installed, it can recommend that any sane user would want the additional package installed, or it can suggest that you will probably want to install the other package.
Format refers to the way that packages are maintained on the installation media. Debian and Red Hat each use special archives of their own design which contain the extra information needed to implement their extra features. Slackware installs standard “.tar.gz” or “.tgz” archives created by using tar to archive a set of files and gzip to compress the archive; those archives do not, therefore, have the extra information needed to remove or upgrade archives. Yggdrasil and Linux Universe install by copying files directly from a file system on the CD-ROM to the hard drive, so they can only use their package management tools to install from the installation CD.
Third-party packages are closely related to format; those distributions which provide single-file packages are capable of installing packages built by third parties, downloaded from the Internet or found on other CDs. As an example of what can be done with third-party packages, Caldera built the Caldera Network Desktop upon Red Hat Commercial Linux (RHCL) and added new packages in Red Hat's RPM format to create a new distribution that is essentially a superset of RHCL.
Source packages means the source code is also installable with the package management tools
Buildable Source means the package has the capability to build entire packages with one command (which may or may not be integrated with the package management tools).
Multi-architecture means support for more than one binary architecture. The Intel 80386 and above (denoted here as i86) is certainly the most common CPU architecture supported, but Linux also runs on other platforms, including some Amigas and Ataris, DEC's Alpha, the Acorn Archimedes, and Sparc. Some of the distributions are beginning to include support for more than one architecture. We expect that by the time you read this chart, support for more architectures will be, at least, announced by more distributions.
Graphical and text-based package management refer to the tools available for managing packages. Graphical refers to native X-based tools, and text-based refers to those that run in character more (even in an Xterm or rxvt session).
Series sub-selection refers to logically grouping packages together into intelligent groups, but also being able to select individual components. For instance, making a group or series which contains everything related to the TeX typesetting system, but being able to separately choose each individual part separately.
Over the past year, the Linux community has been slowly migrating from the a.out to the ELF binary file format. ELF has many advantages, but it has been necessary to move slowly to avoid causing more pain than necessary. However, ELF is now the standard, and we have purposely not included any distributions that do not at least support ELF binaries.
ELF-based distributions can choose to include a.out libraries, in order to provide support for legacy applications.
Most distributions (all in this lineup) provide iBCS2 support for binaries from many i86 Unix platforms.
Supported architectures are the types of machines supported by the distribution.
The standard PC architecture doesn't provide a standard way to boot from CD-ROMs, so in order to install Linux, it is not possible to simply boot a Linux CD-ROM. [No letters to the editor telling us that the Adaptec 2940 provides support for booting from a CD-ROM; that's not “support by the standard PC architecture”—ED] This means that the distribution needs to provide some other way of booting. There are essentially two ways of doing this. One is to provide a bootable floppy disk containing the Linux kernel, and the other is to rely on already having DOS installed. Several distributions provide both options.
In order to boot from a floppy, either:
a bootable floppy needs to be included with the distribution, or
a way needs to be provided to make a floppy from files on the CD-ROM.
Unfortunately, it's hard to make a single floppy that is sufficient for booting on all platforms, but failing to supply a floppy with a kernel makes the user rely on having another operating system (DOS, Linux, or any version of Unix will do) to use to create the floppy. Fortunately, this is rarely a problem, but if you have no other operating system available (even on a friend's computer...) to use to write the necessary floppies, you will probably want to seriously consider purchasing a distribution which provides the necessary floppies as part of the package.
It is possible to boot Linux directly from DOS, and some distributions provide an option to use no boot floppies at all by first booting DOS and then booting Linux from the CD-ROM. In this collection, Linux Universe provides this choice, as well as the option of booting from a floppy.
Some distributions provide a wide variety of boot images, whereas others use one or only a few. If you are able to make floppies yourself, those with more boot floppy choices may prove easier to configure for your hardware. The Boot Images line doesn't count duplicates for different size drives; it only counts the choices for one size of floppy drive.
All the distributions provide at least the option of booting from floppy, and all of them provide a way to make your own boot floppies from the CD-ROM under DOS and/or Linux. Some also provide some assistance (under DOS, Linux, or both) to make choosing and/or creating the floppy or floppy set easier. For instance, Red Hat provides a perl script which asks questions about the configuration you are interested in and then creates disks appropriate for your hardware configuration.
The number of floppies required to install the system varies widely. Debian installs its entire “base system” from a set of five floppies and then requires one blank floppy after the install to create an appropriate boot disk. If you boot the Linux Universe CD-ROM from DOS, it can install without any floppies at all.
While most of this article has assumed that you are installing from CD-ROM (after all, that's what most of the vendors provide), that's not necessarily true. You may wish to copy packages to a subdirectory of a local hard drive and install from there, or you may wish to install from floppy or via NFS from a local server or via anonymous FTP or from a tape.
In order to install on most notebooks, support for PCMCIA (also known as PC Card) is required, unless you are want to install one of the distributions that are available on floppies and are interested in shuffling floppies for hours. If you have a PCMCIA Ethernet or SCSI adaptor supported by the Linux PCMCIA card services package, some distributions make it possible for you to do a network installation over Ethernet, or a install from a SCSI CD-ROM connected to a SCSI adaptor. This can be a real time-saver.
If you don't want to partition your disk, some distributions provide the option of installing in a LINUX subdirectory of a DOS file system using a Linux file system called UMSDOS. While this imposes on Linux all the inefficiencies of the DOS file system, it is an easy way to get started using Linux without committing a partition to do so. Yggdrasil goes one step farther, allowing you to install the base Linux system without booting Linux, by using a DOS program to do the installation.
Most distributions now have customized documentation written about them, which is either included with the distribution by default or is available as an option. Some distributions have been covered in other books available in the bookstore; we have mentioned their presence under Alternate Books. Some distributions are covered by freely-available documentation; the Installation HOWTO and Linux Installation and Getting Started currently cover Slackware primarily, and Debian's manual is distributed freely via the Internet, including an HTML version on www.debian.org.
Some distributions provide the capability to run nearly or completely from CD-ROM, which can be an effective way to demonstrate or experiment with Linux.
One of the most difficult parts of configuring a Linux system is configuring the X Window System. The XFree86 project, Inc. provides a configuration program called xf86config, which has a fairly basic user interface and requires you to know a lot about your configuration, but is quite complete. Some distributions provide tools to make X configuration easier.
Some vendors provide a support program, and some provide several different support programs. This chart only mentions whether at least one program is available—check with the vendors if you have specific requirements that you need met.
While all of these distributions are available via CD-ROM, some are also sold in other formats. There is still one third-party vendor (Linux System Labs) which provides Slackware on floppy, and several of the vendors provide their distribution over the Internet via anonymous FTP.
Some of the distributions include configuration tools, mostly graphical ones. If you are not familiar with administering a Linux or Unix system, you are likely to find most common tasks simplified by a user interface that handles common tasks easily. None of the configuration tools provided with any of the distributions prevents you from doing your configuration by hand, so there is no reason to complain if you prefer to configure your system by hand.
In particular, we looked for configuration tools for setting up and maintaining a network, adding and deleting users and groups, mounting and un-mounting file systems, setting up print services, and manipulating boot scripts (generally kept in /etc/init.d). Again, we did not try to rank them in usefulness, and some of the scripts were definitely more functional for our purposes. On the other hand, a script with more functionality than one user needs could include needless, confusing detail for another user. Configuration scripts should have a review of their own some day, but mentioning whether or not they exist is a first step.
Last, but not least, some distributions require more memory to install than others. Some distributions install with only 4MB of memory, but others require 8MB. As new versions of the distributions are released, their memory requirements may change. If you have less than 8MB of memory, it will probably be worth your while to find out how much memory is currently required by each of the distributions you are considering.
- Let's Go to Mars with Martian Lander
- My Childhood in a Cigar Box
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- Papa's Got a Brand New NAS
- Returning Values from Bash Functions
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Tech Tip: Really Simple HTTP Server with Python
- Panther MPC, Inc.'s Panther Alpha
- Debugging Democracy