Choosing a Linux Distribution

Author: Mojahedul Hoque Abul Hasanat mojahed@citechco.net


This article tries to explain the differences between the major Linux distributions.


Table of Contents

1. What are distributions?

The heart of an operating system is known as the kernel. It manages the hardware, supervises running programs and does other low level stuff. What Linus Torvalds, the father of Linux made (and continues to make) is the Linux kernel. Though the kernel is the main part of an operating system, it is unusable all by itself. There are hundreds of supporting utilities, and many application programs in a complete Linux system. Most of the utilities were made by volunteers working for the Free Software Foundation (FSF), the rest are made by others and distributed freely throughout the Internet. If you are brave enough, and you have the know how, you can download the kernel, the sources of the utilities and applications, configure and compile them, and voila! you have your own custom Linux system. This is exactly what people had to do in the very early stages of Linux. Fortunately, after that early era, some heroic individuals, and later on some companies came who started doing this super human job for us. The Linux systems they assemble are known as distributions.

2. Chaos? or freedom of choice?

There are many distributions of Linux. Some people will like you to believe that this multitude of distributions portray the chaotic nature of the Linux world, or this will soon fragment Linux to the point of making it unusable. In reality all the normal distributions are very, very similar. There are some special purpose distributions which are used for specific tasks like recovery, running a routing only machine and other such jobs, but they are irrelevant to our discussion here.

The Linux kernel comes from one source, Linus Torvalds himself. And most of the other components come from one source too, the Free Software Foundation. This is why fragmentation of Linux is very unlikely. Each distribution is configured for a specific group of users. Once you know the differences choosing a distribution is largely a matter of personal taste.

3. The major distributions

Though new distributions are coming constantly, probably more than 90% use the major distributions. I don't know of any concrete statistics on their usage. There is one at the Linux counter web site, but this a bit out dated and somewhat flawed (1). Red Hat seems to be the most popular at present. Slackware and Debian are also prominent players. Caldera, S.u.S.E and Turbo Linux are the other notable ones.

4. The differences

First of all, please know that I have experience mostly in Slackware, and then Red Hat. I have only installation and a couple of days usage experience in Debian. I haven't managed to get my hands on the other distributions yet, my sketchy knowledge on them is only from articles/mails of other people. So what I am saying in the rest of this article may not be 100% accurate and it is certainly biased by my personal preferences. And I will confess, I am most fond of Slackware, have some gruntle on Red Hat and I am looking to switch to Debian. But I will try to be as much impartial as is possible for a human being.

The foremost area of difference is the packaging system. As was mentioned earlier, the complete Linux system contains hundreds of utilities and lots of applications. There are also libraries, documentations, modules, etc. From now on we will refer to them as components. Most such components contain multiple files. All the distributions pack these files into a single file, known as a package. Packaging allows for easy installation and upgrade. Currently there are three major package formats, rpm - introduced by Red Hat and used by most modern distributions, deb - primarily used by Debian and tgz - used by Slackware. rpm and deb systems maintain dependency information. If package A utilizes or depends upon package B and you wanted to remove package B or upgrade it in a way that breaks package A, the system will warn you. Thus you can easily upgrade components of an rpm or deb system without knowing their interrelations.

The startup or boot-up procedure of distributions also differ somewhat. If you come from the DOS world you know it reads config.sys and autoexec.bat at boot-up, they set some configurations and run some commands. A Linux system is much more complex than DOS/Windows, typically it reads several startup files. These files are located in the /etc/rc.d directory. The structure of this directory differs. There are two main approaches, a Sys V style followed by Red Hat and Debian, and a BSD style followed by Slackware. The Sys V followers use a lot of files, sym links and sub directories. The BSD followers use only a handful of files. We can have a war on which system is better, but actually both have their merits, and each will appeal to different groups of users.

Third comes the installation method. On thing for sure, each distribution is trying to make this process more user friendly at every release. All of them have some menu system to select the components to install. One reason for Red Hats popularity is that it was the pioneer in this field. By now, other distribution have improved a lot, but many believe that Red Hat is still the easiest to install. Debian had the the most unintuitive method up to its version 1.3. I haven't seen the newer 2.xx versions, debianites say that it improved a lot. Slackware is in between the two extremes.

Fourth is the configuration methods. Red Hat and Caldera has some GUI (read graphical point-n-click type) tools to configure various aspects of the system, like printers, network, daemons, etc. These are helpful for newbies coming from the Windows world. Slackware follows the traditional Unix approach, you have to edit the configuration files directly, but don't be afraid, these are not like the dreaded Windows registry. All config files are simple text files and there are tons of documentation. Unfortunately I don't know enough about Debian.

One issue that I can't explain here because of the limited scope of this article is the C library, libc for short. It will suffice you to know that there are two schools here, one that uses the new glibc (also known as libc6) and the other uses libc5. What will matter to you as a user is that, you can't run a binary (executable) file compiled for one version of libc on the other. This does not matter much because most distributions have already standardized on glibc, and most Linux applications come as source from which you can make binaries for either libc5 or glibc.

There are other issues like tech support and philosophy of the organization that I will include in the next section.

5. Individual Distributions

Red Hat

Red Hat is enjoying the most popularity right now. The company is being backed by heavy weights like Intel and Netscape. It has a strong commercial mind set. They offer commercial tech support.

Initially it became popular because of its ease of installation and GUI point-n-click configuration tools. It uses the Sys V like startup procedure. They are the creators of the rpm packaging system which is followed by Caldera an many new distributions. This distribution is helpful for newbies although I have some gruntles against this approach .

The latest version is 6.0 and uses kernel 2.2.x. The immediate previous version is 5.2, which uses kernel 2.0.3x.

Slackware

This is one of the early starters. This is the most simplistic distribution. It doesn't have any glitzy point-n-click config tools. It follows a BSDish approach for the startup files. They are laid out nicely, and anyone with a basic knowledge of bash can easily edit them to suit their needs. In my opinion, configuring the startup files in Slackware is much easier than the Sys V counterparts.

Because of the lack of GUI tools, it requires less space to install too. It is also the distribution of choice for ISPs. Anyone who loves the real Unix way, will love Slackware.

Slackware is the single major distribution that still uses the time tested libc5. In spite of the advancements is glibc, it has some problems, and lacks the test of time. Slackware also has the good habit of distributing only matured tools and applications, thus avoiding many security holes.

Slackware doesn't have the commercial flavour of Red Hat. The latest version is 4.0 which uses kernel 2.2.x. The immediate previous version is 3.6 with kernel 2.0.3x.

Debian

Debian is brought to us by the Free Software Foundation (FSF), the organization without whom there wouldn't be any Linux. The bare kernel made by Linus Torvalds would have served little purpose apart from following the footsteps of Minix.

The FSF wanted to make the GNU (GNU is Not Unix) operating system, a Unix like free OS. Thousands of volunteers made the components that make a whole Unix system, but they failed to make the HURD, the kernel of GNU OS. Development is still going on HURD, whether it will ever see the light of day is a big question. We are very fortunate that Linux came in just the right moment.

Debian is the only major purely non-commercial distribution. It uses the deb packaging system, which many users claim to be better than rpm. The biggest advantage of Debian is the HUGE collection of tools, utilities and applications, all are free. This distribution is especially suited for developers and power users.

The only problem with Debian, and this is a big one, is its package installation program. Most people except the Debian fans describe it as horrible. I personally don't think it is horrible but it certainly is not easy, especially for newbies. Actually this package installer does a lot more checking than its rpm equivalent and it asks you to decide whenever it detects a possible problem, very unlike rpm which will decide on its own what's vest for you, and like any computer program it might not agree with you. Please note that a new package installer has been included in the 2.x series. I haven't checked it out yet.

Debian is maintained by volunteers through out the world. They also have a very good bug tracking system. Debian got a boost recently when Corel announced it will base its new distribution on Debian.

The latest version is 2.1. It has 4 CDs, 2 binaries and 2 source. This is largely a bug-fix release to 2.0. The previous version is 1.3.x.

Others

Sorry! I don't have much information on other distributions. Here is what I have gathered from various sources.

Caldera is an rpm based distribution. It is particularly targeted for Novell Netware users. It has some GUI tools.

S.u.S.E. is gaining popularity. It bundles a lot tools and utilities.

6. Which one to choose?

It largely boils down to personal preferences. The best way to choose would be to try each one. But to know the pros and cons of a distribution you need to use it for some time. If you don't have the time or inclination, here is my short list.

If you don't want to know how the system works, and you are satisfied with the limited choices a point-n-click tool gives you, in other words, you are just looking for an alternative to Windows, Red Hat will please you most.

If you are the opposite of above, i.e. you want to know how everything works and you are brave enough to edit the configuration files by hand, in short - you are looking for a Unix, Slackware is the way to go. It will be your choice too if you are looking for the most stable one of the three.

If you are a developer, you like the spirit of co-operation on which Linux and the FSF is based on, and you don't mind editing configuration files, Debian is a very good choice.

7. My personal preference

I have some gruntles against the point-n-click ways. I have some harsh things to say, so please note that these are my personal opinions and you can just skip this section.

Point-n-click GUI interfaces are not only OK, but also THE way to go for many people. If you are one of them, then you will be best served by Microsoft Windows or a better alternative, the Macintosh. Microsoft has done a lot of good things to the computer industry and it is good in making pointy clicky interfaces. Just think, why are PCs so darn cheap? because they have a huge market and Microsoft has a lot to do in making this market. I don't see any good reason why a secretary should dump MS Office and use Star Office. If you can use a bit older version of Office, like Office 95, than you get better performance than Star Office on similar hardware. Stability is simply not a factor in such cases. It is foolish to even try compare the graphics performances of Windows which is glued to the PC architecture with that of X window which has to maintain portability on countless platforms.

Unix is not for everyone. You will discover its powers only if you have the inclination and the time to take the steep learning curve. It is for people who don't want to be bound to a couple of radio buttons an check boxes, those people who don't want to limit their thinking to the metaphors of some windows, icons and sliders. Here is a good article that tells you what type of people like Unix . Another excellent article will tell you why people love Unix . Novelist Neal Stephenson has an essay, In the Beginning was the Command Line about the virtues of the command line.

Back to our issue, if you don't want or need the powers of the command line, there is no reason to come to Unix/Linux. That is why I don't like Red Hat. Slackware is simplistic, simplistic in the Unix way of course. There is no mumbo jumbo gizmo, only the real Unix tools. Its startup files are optimized for hand editing, unlike Red Hat in which they are meant to be changed by the GUI tools, editing them directly is possible but you will not like it and it may break the GUI tools.

I wouldn't have anything against Red Hat if everything could be done in the GUI. It attracts people from the Windows world with its perceived ease of use. Its a matter of time until they are thrown at the command line and they discover that it's not all rosy underneath and you hear them say "enough of this open source business".

My biggest gruntle is that it makes the newbies lazy and hides them from the true powers of a Unix. I think new Linux converts should be pointed to Slackware first. The not so newbies should help them as best as they can. Only if they don't like this Unix way they can be advised to look at Red Hat and other similar distributions.

8. Official and GPL releases

Most distributions come in two flavours, an official and a GPL'ed or free release. Official releases cost a bit, from around $50 to more than $100. GPL releases cost as little as $2 per CD. In most distributions there are no differences apart from a printed manual. Distributions like Red Hat and Caldera contain a few non free applications in the official release. Red Hat and some other companies also give you tech support for some time if you purchase the official release.

Companies don't make a GPL release on CD directly. Almost all distributions publish their work in ftp sites, other vendors like Cheap Bytes and LSL download those distributions and burns them on CDs.

So, which one should you use? If you are a business, please buy an official release, this will help the Linux community. If you are an individual and have a very tight pocket, a GPL release is good enough. But please remember that buying an official version will be a great help to the community, not to mention the nice packaging and the manuals.

9. Vendors

Here is a list of web sites of distribution makers.

Vendors who sell both official and GPL releases

10. Last words

The question which Linux distribution is best is not very meaningful as there is no answer for it. Certainly don't ask this question on any mailing list or newsgroup, there are fanatics everywhere and the Linux community is no exception, I can guarantee you a lot of flame mails for this question. No one OS fits all, and no one distribution will fit all. Ultimately, the best distribution for you is the one you like best.
Footnotes:

  1. If you install Slackware, login as root and check your mail, you will find a message asking you to register at the Linux Counter. Other distributions don't follow this, I don't know why. Probably this is why the Linux Counter shows Slackware to be the most widely used distribution. Back


Last modified: May 28, 1999