Been considering installing or re-installing Linux on a PC? Confused by the wide range of distributions available? This article may not solve all your woes, but it should at least put you on the right track.
Why doesn't Linux Journal recommend one particular Linux distribution as the best? Why not do quarterly awards for the best current Linux distribution? There are at least two good reasons and one not-so-good reason. The good reasons are that different users have different needs, and that a “best” rating for any one distribution would unfairly penalize the other distributors. The not-so-good reason has been that Linux Journal hasn't had the resources to do comparative review.
While we still will not recommend one “best” distribution, we have recently acquired hardware specifically for testing distributions. While we can't begin to buy a full set of hardware that will allow us to test distributions on a wide range of hardware, we can assume that since all the distributions use the Linux kernel with few or no modifications, there are not likely to be too many differences based on hardware. By buying mainstream hardware (see The Test Platform sidebar), we can ignore the hardware problems that do not generally differentiate distributions and concentrate on the other characteristics of the distributions.
We are not even going to attempt to rank the distributions. We will introduce the distributions that are the most common in the U.S. as this is written; we will introduce other distributions in future articles. As we explore more distributions, we will update our table for feature comparison, and future articles will include the entire table for all the distributions tested so far for easy comparison.
Our comparisons will be designed to allow you to rank the distributions based on your own needs, rather than our perceptions of your needs. To do this, we will provide a description of each distribution, as well as comparison charts of features so that you can easily see the trade-offs that various Linux distributors have made.
Is this a cop-out? Are we shirking our duty? It has become clear to us that it would be hard for Linux Journal to rank the distributions; our staff members have different personal favorite distributions and defend their choices rationally—occasionally even argumentatively. At Linux Journal, we use Linux extensively—nearly exclusively—and we still don't agree which distribution is the best. We have different priorities, skills, and expectations, and we believe this is true of our readers as well.
We have reason to think that our readership is thoughtful and intelligent, and we have certainly been informed in many letters to the editor that our readers appreciate being given a chance to form their own opinions. So instead of attempting to make up your mind for you, we would like to give you as much material as possible to use to make up your own mind.
Many new Linux users confuse the version of the distribution they are using with the version number of the kernel they are running. As described in the What's a distribution? sidebar, the Linux kernel is just one of the many pieces of software needed to create an entire distribution. Each distribution uses version numbers of its own to keep track of the state of the entire distribution, which has more to do with the collection of programs than with the particular kernel involved. Indeed, many distributions have included two or more different kernel versions in one version of the distribution.
However, it's worth understanding the version numbers used for the Linux kernel itself, since the kernel is a key part of any Linux distribution. Kernel version numbers come in three parts: the major version number, the minor version number, and the patch-level. The Linux kernel is being constantly developed by a large team of developers, and while they add new features, they occasionally introduce new bugs. To keep this from causing a problem for Linux users, the developers periodically dedicate several months to fixing bugs and creating a very robust, stable kernel. When this is done, a stable version is released with an even-numbered minor version number. The developers then begin adding features (and temporarily breaking things sometimes) in development versions with odd-numbered minor version numbers.
Unless you want to live on the “bleeding edge” of Linux development, you will probably want to stick with the latest stable kernel version. As of this writing, the latest stable kernel version is 1.2.13; by the time you read this, preparations will probably be underway for 1.4.0.
Several vendors are adding value to existing distributions in various ways. For example, Caldera is adding commercial components to Red Hat Commercial Linux to create their Caldera Network Desktop. WorkGroup Solutions used to enhance Slackware as the base for WGS Linux; they have now switched to basing their work on Red Hat Commercial Linux. Trans-Ameritech sells disks with several distributions, including Slackware and Debian; they base their own value-added work on Slackware, trying to make it easier to install.
Value-add distributions are worth serious consideration, but they aren't the subject of this review. As part of deciding which distribution to get, you may want to consider what you can get from value-add vendors as well as from the base distributions in question. Most value-add vendors (as well as distribution vendors) advertise in Linux Journal.
One of the most common sources of confusion in the Linux world today involves binary file formats (See What is a binary file format? sidebar). The Linux community is in a state of transition from the old “a.out” binary file format to the new “ELF” binary file format, which has many features that are completely missing in the a.out format.
ELF is the binary file format used by Unix System V Release 4, but that doesn't mean that a Linux binary in the ELF file format is compatible with SVR4, nor does it mean that SVR4 binaries can run on Linux. The capability for Linux to run some SVR3 and SVR4 binaries is provided by the iBCS2 compatibility package, which most distributions include.
One of ELF's features is extensibility; with ELF, it is possible for developers to add features that weren't thought of when the format was first designed. For instance, one Linux developer has noted that he could add icons to ELF executables without breaking any software. Icons weren't considered when ELF was developed, but the format is extensible enough that they can be easily added.
But perhaps you don't care if you can add an icon to your ELF binary, or even if anyone else can. What does ELF do for you? Fundamentally, it makes life much easier for Linux developers. It also has a few esoteric features which make it practical to support some software under Linux that was previously impractical to support. So it gives you more and better software available for Linux.
Since the whole Linux community is moving to ELF, you don't want to get stuck with a distribution which does not support ELF. A year from now, it will be almost impossible to find a.out binaries for programs you want, and important bug fixes may only be available for ELF.
Because of this, we have only reviewed distributions which at least support ELF binaries. The only distributions that are reviewed here which are not based on the most current ELF libraries are currently being updated, and should be based on standard ELF libraries by the time you read this.
What do we mean by based?
ELF-based means the entire distribution, or at least, almost the entire distribution, consists of ELF binaries. a.out binaries are not provided with the system, or if they are provided, they aren't part of the “core” of the system or are not available in ELF format.
By contrast, “supports ELF” means that, while the distribution is partially or completely built of binaries in the a.out format, the ELF programming libraries are included so that ELF binaries will also run.
Many distributions are available solely on CD-ROM. There are several reasons for this:
So much software is available for Linux that it is impractical to provide it all on floppies.
It is much easier to install software from CD-ROM than to change floppies once a minute.
A cheap supported CD-ROM drive costs approximately the same as the stack of floppies needed to install a complete Linux distribution.
However, some distributions (including Debian, Red Hat, and Slackware) are available via FTP over the Internet in a form designed to fit on floppies, and Linux System Labs still offers a floppy distribution service, from which you can order an entire Linux distribution on floppies, though it is the only company left, to our knowledge, which does this.
Most distributions are freely available over the Internet, although only some are actively distributed in a way that makes it feasible to install them directly from the Internet. You should be aware that while distributors can restrict you from running commercial software components on more than one machine, they cannot restrict you from installing the base Linux software on multiple machines. A Linux distribution which is packaged in a form which cannot be installed without installing proprietary software that is under copyright licensing terms more strict than the GNU General Public License is probably in violation of copyright law. [And should be completely avoided, in my strongly held opinion—ED]
To sum up, you should feel free to install any Linux distribution you buy on as many machines as you like, as long as you respect the licensing terms of any proprietary software that is included with the distribution. Conversely, the vendor needs to make it possible for you to do so without taking unreasonable steps.
If you encounter a vendor who makes it difficult or impossible to install free components without installing proprietary components that have restrictive licenses, first politely bring the issue to their attention—they may not have considered the issue. If the vendor refuses to resolve the issue, return the distribution, ask for your money back, and send a letter to the Editor of Linux Journal.
By the time you read this, some of the distributions will have made new releases, and so some of this description will be out of date. We hope all the bugs will have been fixed, for instance...
We would like to keep tracking distributions as they improve and, occasionally, publish descriptions and the feature comparison table in updated form.
One thing you may notice missing from this overview is a list of bugs in each distribution. In general, we assume that some noticeable bugs are inevitable in software that is evolving as quickly as Linux and that vendors will be responsive in tracking and eradicating bugs. If they aren't, word of mouth between users will be more effective than any sort of complaining on our part. We also want to avoid showing any bias, and if we start listing bugs we find, we will either show bias or appear to show bias simply by the “choice” of bugs we publish.
Since we can't do a fair comparison of the number and severity of bugs between distributions, we have tried to note only bugs that involved completely missing functionality or which were difficult to work around and hard for the user to avoid.
If working around simple bugs is a problem for you, we urge you to purchase a distribution from a vendor who offers technical support for the installation process. By providing installation technical support, these vendors not only help you with the problems, but force on themselves a vested interest in fixing those bugs. Providing support is expensive, and solving the same problem over and over again is a waste of their time and money.
At the same time, if you buy installation technical support, please understand that you aren't buying a lifetime warranty for every part of the system. None of the vendors here provide that as part of their base product. You can buy very comprehensive support packages from several vendors if you need them. Happy shopping!
The only distribution in this lineup which is not currently developed on a commercial basis (Slackware was originally also non-commercial), Debian has been a long time in the making. Unlike all the other Linux distributions, Debian is put together by a large team of volunteers all over the world. While a few people are in charge of a very small core of the distribution, almost all the decisions are made by consensus (which has given Debian a reputation for vaporware, since consensus can take some time to achieve), and nearly all of the packages are developed independently by members of a large development team.
By following a strict set of rules and using the most powerful packaging technology currently available for Linux, this large team has achieved a remarkably coherent Linux package. As this article is being written, Debian is still the only distribution which has complete dependencies: when you install one package, it checks to see if other needed packages are also installed. It also checks version numbers if requested; package A can insist that package B be installed, and that package B be version x or greater. This makes upgrading any package nearly foolproof.
These dependencies are a natural requirement of Debian's distributed development and are well-tested, because many of Debian's users and developers upgrade parts of their systems on an as-necessary basis, which exercises the dependency-checking features considerably.
The Debian installation procedure does not have as many of the user-friendly assumptions as many other distributions. It won't guess at which disks you wish to use or which partitions on your disks you wish to use for swap and root, for instance. It doesn't give you the option to skip the check for bad blocks while making a file system. It installs the entire “base” system from floppy (three floppies), and then you reboot into the installed system with enough programs installed to install any other packages you like. This way, all the base system has to support is floppies and hard drives, and then you can choose which kernel modules to load during the initial “base” installation; those determine what hardware is supported. Debian is highly modularized.
Debian is one of the strictest distributions about setting passwords. As soon as you re-boot the “base” system, you are prompted for the root password, with an explanation of how to choose a good password. Also, part of adding a new user under Debian is setting the user's password.
All of Debian's packaging tools run in text mode, so X is not required to use any of Debian's sophisticated upgrade capabilities. They can be used in an xterm or rxvt on the console, over a modem link or over the network. The package tools are also very fast.
The default Debian kernel is highly modularized. This means that you rarely need to recompile the kernel, and you don't have lots of unnecessary, unused drivers in the kernel taking up memory and causing possible conflicts. Where Red Hat has 72 possible boot disks in its standard set, Debian has 1—but Red Hat requires you to make only 3 disks to install, whereas Debian requires you to make 5 disks, and have an extra blank disk available, which is used to make another boot disk during the installation process (you can re-use the boot or root disk if you are brave, but we don't recommend it).
Debian is currently being transformed from an a.out-based distribution with optional ELF support to a fully ELF-based distribution. By the time you read this, a new release of Debian fully based on ELF should have been released; most of the Debian packages have already been made available in ELF format. Debian 1.1 will be fully ELF-based. (Due to a mis-communication, a version called Debian 1.0 was released on the November Infomagic CD. That version was incomplete and will not work if you attempt to install it. The real release has been renumbered 1.1 in order to avoid confusion between the official ELF-based release and the one accidentally included on the Infomagic CD.)
Debian's home page can be found on the Web at www.debian.org.
This relative newcomer SoftCraft Linux, by SolutionS R Us) has relatively few packages, each of which contains many files. Craftworks Linux comes with a boot floppy, a CD-ROM, and a manual.
We ran up against one bit of confusion right away: as soon as we booted from the provided floppy, an unclear copyright message was presented that seemed to appropriate title to Linux and seemed to attempt to legally restrict the user from installing the product on more than one machine.
Following our own advice, we contacted Craftworks and asked their intention. They confirmed that their intention was only to protect their own proprietary software included with the distribution, and that they allow users to install the product on as many systems as they wish. They do claim compilation copyright on the CD-ROM and the floppy, which means that they restrict the user from making any verbatim copies of either the CD-ROM or the floppy except for backup purposes. However, they in no way intend to restrict re-distribution of any included free software, and they promised to resolve the issue by making their copyright licensing terms and notices much clearer in future versions of the product.
The installation was fairly simple; Craftworks provides three pre-selected sets of packages to install (other packages can be installed separately after the base installation has been completed). This makes it quite simple to install a simple but usable Linux system fairly quickly.
While Softcraft claims compliance with the Linux File System Standard (the “FSSTND”), the default locations that come with many free software packages have been accepted, and so they expressly violate the FSSTND by installing several packages in the /usr/local hierarchy. They don't include documentation (at least in the manual) on how and where they deviate from the FSSTND, either. However, most of the base system does appear to follow the FSSTND.
A Softcraft system with extra packages (more than the base system) installed feels something like a SunOS system with an active system administrator. Plenty of files are in /usr/local (including Emacs), and other files are tucked away in other various corners; for example, Postgres95 is in the /usr/local/postgres95/ directory. Softcraft responds that they do this so that users familiar with commercial versions of Unix will feel comfortable.
The X configuration was very simple—there were only two questions to answer (type of mouse and type of video board). However, this provides a 640x480 pixel X configuration; to get any better resolution, the user is instructed to edit the /etc/XF86Config file by hand.
Craftworks' home page is at www.craftwork.com.
Linux Universe is a book with simple installation and configuration instructions and a small reference, which includes a CD with a Linux distribution on it. It's translated from German, and the distribution on it is also apparently translated from German, since some of the comments in the scripts are still in German.
While it is completely ELF-based, the version available at the time of testing used the version 4 ELF library, not the new version 5 ELF libraries used by all the other ELF-based distributions. When Linux Universe was produced, the version 5 libraries were still in alpha testing and not ready for release. However, we have been assured that the new version, which should be available in stores by the time you read this, will have the version 5 ELF libraries. If you wish to run Linux binaries other than those included with the system, make sure you get the newer version.
Also unlike any of the other Linux distributions here, it doesn't include LILO. Instead, it provides a full-screen boot manager somewhat like OS/2's boot manager, which is easy to configure and is able to read ext2fs file systems—so it is able to boot any kernel on an ext2fs file system, not just ones that have been specially configured, as with LILO. However, the full-screen loader is itself loaded by a very simple loader that can be confusing to the new user. It requires you to remember which partitions of which drives hold the operating systems you want to boot.
Linux Universe is intended to be a companion to Linux—Unleashing the Workstation in your PC, by the same authors, and you can purchase Linux Universe alone or in a kit with its companion volume. If you are not already familiar with Linux (or at least Unix), you will want to purchase the whole kit, not just Linux Universe.
Linux Universe is designed (like Yggdrasil) to be run with the system CD in the drive, so that even packages that are not installed on the hard drive can still be run. Linux Universe adds technology which causes files accessed on the CD to be automatically copied to the hard drive for future access. The same design is used to install and run it from an NFS server.
The graphical configuration utility is simple to use and seems to work well. It works quickly and intelligently. When filling out the networking configuration, for example, it guesses most of the information once you type in the IP address.
You can find Linux Universe on the Web at www.springer-ny.com/samples/linux/linux.html.
The first commercial distribution to adopt an upgradable packaging scheme, Red Hat's 2.1 release includes a single-command upgrade facility. A single script was included to do the upgrade from Red Hat 2.0 or 2.0Beta to 2.1, and it worked very well. At the end of the upgrade, it notifies the user which configuration files have been changed and the names of the files where the originals have been saved.
Unfortunately, going from version 2.0 to 2.1, it replaced the /etc/passwd and /etc/group files (among others) with new ones that had new administrative users, but didn't include any users that had been added to the system since the original install of Red Hat 2.0. No tool was provided to merge the old and new password files, either. Fortunately, Red Hat considers this a bug and will fix it in future releases. It is also fortunate that the previous versions were preserved—Red Hat's RPM tool always makes a backup when changing configuration files—and the upgrade script warned about the change, making it a simple matter to move the original versions back into place.
With this small, easily-fixed exception, the Red Hat upgrade process ran smoothly and took only a few minutes to upgrade a rather fully configured system to the latest version of Red Hat with proper configuration files in place. Red Hat has plans to improve the upgrading process so that it is even smoother for more people; in nearly all cases in the future, a single command should be entirely sufficient.
In general, Red Hat provides a reasonably wide range of applications on multiple architectures. In December 1995, at DECUS/San Francisco, Red Hat announced Red Hat Linux for Alpha, which runs on several different Digital Alpha systems. Red Hat's packaging scheme is designed to support multiple architectures transparently, including building packages, and Red Hat has announced that they are considering other architectures as well.
Red Hat includes a graphical package management tool, as well as a command-line tool. However, their assumption is that people who don't want or need to edit configuration files directly will configure and use X, and their configuration tools are almost entirely X-based.
Red Hat provides your choice of graphical and text-based installations, and can install from CD-ROM, NFS, floppy, or FTP. The floppy and FTP installations only work in text-based mode at the moment. The installation asks as many questions as necessary immediately and then installs all the applications, not requiring user interaction again until after all the packages have been installed.
Red Hat provides their own easy-to-use X configuration program called the Xconfigurator. It uses dialog boxes that ask fairly easy questions to write an XF86Config file to configure X.
The URL for Red Hat's home page is www.redhat.com.
This veteran descendent of the original Linux distribution, SLS, is still easy to install, if you don't mind tending it while it asks questions. It has wide support for installation from different media—it even has experimental support for installing from tape drives—and it still has the best support for installing from floppies. It also has a very wide selection of available software. If you want to use TeX to typeset Klingon or Tengwar, it's built in; just make the right selections while installing. Slackware has a long history and has a rich assortment of packages. Most of the 1000-page tomes covering Linux which are available in any bookstore cover Slackware, so it is also well-documented.
However, Slackware has no real upgradability. To upgrade a package (which is simply a .tar.gz file), you can only remove the old package and install the new one. For a technically advanced user who remembers all the configuration files for the package, who knows exactly what files to back up before doing an upgrade process, and has time to do so, that works, except when the user makes mistakes.
Slackware uses the standard XFree86 xf86config program to configure X, which is not particularly user-friendly, though very thorough. Once you get X running, however, you can take advantage of Slackware's fairly wide variety of X applications.
If you don't mind re-installing regularly to upgrade and demand very fine-grained control over exactly which files get installed, Slackware provides some of the most precise controls over what gets installed and what does not. For instance, if hard drive space is limited, and you want to install only the TeX fonts you want, most of them are selected separately. Thai fonts, OCR fonts, and Gothic German fonts are perhaps not likely to be used by the same people; Slackware allows you to select each of those families (and many more) separately. If you want as many packages as possible provided with the distribution, you will appreciate Slackware's wide range of available software. We counted 326 packages in Slackware 3.0.
Slackware's Web site is at www.cdrom.com/titles/slackware.html.
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.
Linux distributions have changed a lot in the few years they have been around. The Linux File system Standard has improved their ability to inter-operate; binaries compiled for one distribution are now more likely to run on another distribution, because standard files are more likely to be in the same place from one distribution to another. As distributions have competed, bugs have been worked out of all of them; thus users have benefited from distributions they haven't even used.
Since no single distribution provides an optimal environment for everyone, each distribution contributes something to the pot. Furthermore, having distributions targeted for different kinds of users means that no distribution is pressured into complete mediocrity by the attempt to be all things to all people. It's a well-worn clich that to do all things equally well is to do nothing at all well...