Linux Distributions Compared
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.
- Brent Laster's Professional Git (Wrox)
- Smoothwall Express
- Own Your DNS Data
- Machine Learning Everywhere
- Returning Values from Bash Functions
- Bash Shell Script: Building a Better March Madness Bracket
- Understanding OpenStack's Success
- Simple Server Hardening
- Tech Tip: Really Simple HTTP Server with Python
- From vs. to + for Microsoft and Linux