Linux Distributions Compared

Back in March, we compared the available Linux distributions. This review draws heavily from that work and offers updated infromations on what is available on PC platforms.

. 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.

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 you'll 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 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, and several vendors provide it, either as the sole distribution on a CD or as part of a collection.

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 files typically installed together will 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 the former depends on the latter.

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 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 special installation 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, 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 mode (even in an xterm or rxvt session).

Series sub-selection refers to logically grouping packages together into intelligent groups while also making the selection of individual components possible. For instance, making a group or series of everything related to the TeX typesetting system, but also allowing the user to choose not to install all the fonts or to leave out LaTeX.

Over the past year, the Linux community has been 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 unnecessary pain. 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 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) with which 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 write the necessary floppies, you will probably want to purchase 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.

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 or creating the floppy or floppy set easier.

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 installation 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 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, via NFS from a local server, 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 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 install from a network location over Ethernet or from a SCSI CD-ROM connected to the 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, 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 bookstores, and some books include distributions.

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. It is, however, 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.

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 manually, 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 than others 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.