What I hope to do with this article is to give you a background on distributions of Linux out there, how they are different from one another, and why I choose Debian from them. I hope this helps someone out there choose the best distribution for them.
When Linux first started there were no distributions. There was just a kernel and a few applications that would run on it. As the popularity of Linux grew, so did the number of applications. During this growth, someone came up with the great idea of packaging the kernel with their favorite applications so that someone would have an easier time installing Linux. This started a trend. Other people began doing the same thing either because they didn't like the way the other people packaged Linux or because they thought they could do it better or for other reasons.
Several years go by and now we have several distributions of Linux to choose from. When they all started it was a rather tedious installation process. I remember Slackware had something like 40 or 50 disks involved with it. Each one contained compressed versions of applications on them. After several hours of swapping disks you had a working operating system. Well, somewhat. At this point you had to go customize it. This involved re-compiling the kernel to match your hardware, configuring your network, dial up connections, X-Windows, and several other key aspects of Linux. For the first time user this was almost impossible. A lot of people were turned away because they didn't know where to start.
Switching back to today...distributions have become easier. With installation methods that have made it easy for a lot of people to follow. Applications are now being "packaged" by distributors to make installation easier. Instead of downloading a compressed file containing all of the source code (only to have to uncompress it, compile it, and hope you have no problems doing all of this) all you have to do is download a package. Using the package manager that comes with the distribution, install it. No compiling is necessary in most cases. Most distributors also maintain packages of most software on their site making it easier to find the software you want to run. Instead of spending all week searching the Internet for an application that you want that runs on Linux, all you have to do is pull up a package manager and take a look at the list of applications available and it's there.
Another great advancement is the fact that you don't need 50 disks to do an installation. Most distributions offer multiple methods of installation ranging from CD-ROM, to NFS, to local copies, and to FTP. One of my favorite methods is FTP (if I'm on a T1 or greater.) All you need to perform an FTP install is a few disks (anywhere from 1 - 6 disks) and a little bit of time. Installation methods have gone so far as to auto detect basic hardware on your system including network cards and video cards. Linux distributors are also using a feature of the Linux kernel called loadable modules. This allows the kernel to be configured for most hardware support without causing the kernel to be too large. Kernel size is important to how well your operating system runs. Too large of a kernel and it runs slower if it runs at all. The more features you turn "on" in the kernel, the larger the kernel becomes. By turning the features into loadable modules, it keeps the size of your kernel down but still allows you to "activate" the support at any time.
With all of this said, the biggest decision that you have to make is which distribution you plan to use. This can be a difficult decision if you have never used Linux before. I know of at least a dozen different distributions, each with it's own style and methods for doing things. Don't let this scare you off. Several of the key distributors have been working together in recent times to set forth some basic guidelines that they will all follow. This way if you switch from one distribution to another, you can rest assure that your files will be in the same location. This is currently one of the biggest problems. People say that Linux is Linux and distributions don't matter. They are wrong. Distributions do matter. Yes, it's still Linux and it will still function the same way. But the location of files, the method for configuration, what applications they include and the versions of those applications, and the overall look and feel will differ from distribution to distribution.
I have personally only tried out a few of the distributions. I have had friends who have tried others and have given me their honest opinions of them. Personally I don't think one distribution is any better than another. Each distribution has a goal set. They have some idea of what the perfect distribution is or for what market of people they are building their distribution. What you have to decide is which market you fit into. The best distribution will be the one that works best for you. For me it's Debian GNU/Linux.
As I go on talking about Debian I will use RedHat as a comparison as I have used RedHat in the past and RedHat is (I believe) the most popular distribution out there. Please don't take any of my comments as negative as they may seem the wrong way. RedHat is a great distribution and the direction they are going is different than that of Debian.
Debian GNU/Linux has been around for several years. Debian considers itself a complete operating system. An operating system is the set of basic programs and utilities that make your computer run. Since Debian is a collection of applications built on top of the Linux kernel it is just that, a complete operating system. One of the first obvious differences between it and other Linux distributions is it's intent and goal to be 100% Free. Not free in the money sense, but free in the sense of Open Source. Debian is a non-profit organization made up of hundreds of individuals throughout the world. All of these individuals contribute their time free of charge in the hope that they will have their own "perfect" operating system when they are done. Debian does not sell anything that they create but if someone wants to distribute the Debian GNU/Linux operating system and sell it that's fine. They have worked hard and long to develop a structure to how things are done throughout the organization. This goes from the procedure for being a developer to the procedure for writing documentation for Debian.
Debian works completely off of donations. The money that comes from these donations goes to maintain their servers and help pay for booths at conventions and expos. None of this money actually goes into any ones pockets. This keeps the focus of the group on the product and not on money. The reason I point this out is there are several things this affects.
One of Debian's primary goals is to produce a stable and secure operating system. They don't care about money...just the product. RedHat on the other hand has a different approach. They are developing a Linux operating system that any current Microsoft user can migrate to with no problems. One that the user doesn't want to know what's going on behind the scenes. One that the user will be able to point and click their way through. This is great! They have done wonders in their installation process and I believe they have the best one out there. They have made it possible for people who have never used UNIX or Linux before to install Linux. I always like to say that RedHat would be Microsoft's version of Linux...except that it works.
While RedHat focuses on the GUI, Debian is focusing on the system itself. To better explain the differences between RedHat and Debian in more detail, I will run down some common features of the two and show the differences. Keep in mind that I haven't done much with RedHat in a while so my information maybe inaccurate. If it is, please let me know so that I can correct it.
Debian has done the same thing. Except they have gone a few steps further. At the core of Debian's package management is dpkg. dpkg is their package manager. RedHat has RPM, Debian has dpkg. Instead of using a .rpm as an extension, Debian uses .deb. dpkg does all the actual manipulation of the packages. The next level up is dselect. dselect is the current front-end to dpkg. It is the actual management station (so to speak) for dpkg. With dselect, you can select which method you are going to obtain your files, update the list of files available, select the files you want to install, and install and or remove those files. Along the same lines as RedHat, Debian has also built in the use of dependances. While your selecting files in dselect, if you pick one that requires other files, it will prompt you telling you need them and automatically select them for you.
The newest addition to the package management is apt. apt stands for A Package Tool. apt is a very logically layed out concept. The first stage of it has been introduced with the 2.1 version of Debian (pending release). It is known as apt-get. apt-get is a multi-purpose tool. You can either use it from dselect as a method of obtaining files or from the command line. For example: If you wanted to install the apache web server, you could either go into dselect and select it or run the following command.
apt-get install apache
That single command will automatically figure out all what files are required to install it and go out and obtain them all for you and then finally install them. You don't have to worry about what version you need or what other files you need for it as apt-get will figure that all out for you.
An addition to this feature is several small utilities built into apt-get. You can perform updates of the package list as well as upgrade any package you have installed which has a newer version. This allows for automated weekly updates via a cron job. You can use the following two lines to do a weekly update and upgrade keeping you up to speed with any security or bug fixes.
apt-get -y upgrade
When a new version of Debian is released, you can do a similar thing and upgrade completely to the new version with no affect to your system.
Another nice thing about dpkg is the configuration piece of it. If the package needs configuration in order for it to work, it will prompt you during installation for the information it needs. This way, when your done installing it, it should work.
Debian on the other hand is for the most part strictly command line based. This doesn't mean they don't have GUI's for configuring different aspects of your system, it's just that these GUI's are all text based. The reason I prefer this is that from and administration standpoint, I may not be able to use X-Window on the system I'm maintaining, or I may not be able to use a console all the time. I personally want the ability to do everything from a terminal with the same ease that I would if I were using X-Window. Debian seems to be focusing on making all their configuration GUI's text based first and then X-Windows based second. For example, dselect is a text based package management tool. GNOME-Apt is a project that is currently underway which will give us an X-Window based package management tool.
Debian GNU/Linux is a distribution which lives up to the ideology of Linux. Linux has been developed from ground up for several years. In the beginning it was one man who wanted a free version of UNIX that would work on his i386 system. Linus has since struggled to maintain the same ideas that he started out with. He doesn't release a new kernel version until it's ready. He doesn't work on time lines and doesn't care about making money off of it. Debian is the same way. In it's current state, it is defiantly not the best distribution for everyone. Since most of the configuration tools are not based on X-Window, a lot of new users will be scared away from using it. From this I have certain beliefs on how the distributions will pan out over the next several years. I personally think that RedHat and/or S.u.S.E. will end up winning the workstation/desktop market. Both companies are striving for ease of use. Debian on the other hand will win the server market. The reasoning is that Debian will continue being the most stable and secure distribution. Most of the tools being developed on Debian are being developed from an administration standpoint and therefore will be the type of system that an administrator will prefer to use.
Correction: I was advised that Debian was the first to come
up with package management. (not RedHat like I say above) -- Thanks to email@example.com (Joey Hess).
Other Note: I was advised that not all .rpm packages act the same. Apparantly
some packages (those created directly by RedHat I believe) don't always work
on other non-RedHat systems. Caldera in particular.
I'd like to also to make clear that Debian is working on GUI'd configuration tools for several things. GNOME-APT has just recently been released in a .deb, though not completed, it does have alot of functionality. (still considered beta)
Other Note: I was advised that not all .rpm packages act the same. Apparantly some packages (those created directly by RedHat I believe) don't always work on other non-RedHat systems. Caldera in particular.