Comparison of GNU/Linux Distributions
Linux is starting to take the world of computers by storm. Corporate greed, insane legal licensing and constant Windows vulnerabilities are starting to take its toll on the general computing population, and many are looking for an alternative. For some Linux is the answer.
The Linux Operating System is very different than proprietary Operating Systems. Linux has a community based development model where many people, organizations and businesses jointly develop the software. With this style of development, there is no one entity that controls everything, but because of this, it is quite difficult to build a coherent system that will run on personal computers. This is where distributions come in.
Distributions are complete Linux Systems that are built by companies or organizations to aid in the support and installation of the Linux Operating System. Distributions take care of all of the rudimentary tasks of building the system, such as building and testing the software, providing technical support and to provide security updates and bug fixes, etc.
There are all types of distributions available, from ones that are very user friendly to advanced ones that allow you to build your system from the source code. This article covers the three most popular intermediate Linux distributions available today, Fedora Linux, Mandrake Linux and Suse Linux. Intermediate distributions give the user plenty of control and choice over their system, yet provide easy to use tools to administer and maintain their system.
There is no one distribution that will perfectly fit into everyones needs. Each one has its own strengths and weaknesses which will vary from person to person. This article covers all the major advantages (and disadvantages) each of these distributions have to offer and hopefully give you enough information to help you correctly choose which Linux Distribution is right for your computer.
Fedora Linux was started by Redhat Linux in September 2003 as a community based open development Operating System based on the Redhat Linux distribution. The Redhat distribution was first released in October 1994 and has progressed to one of the most popular Linux Distributions available today. The latest release, Fedora RC2, was officially released in May 2004.
Mandrake Linux was first started in 1998 as a custom built Redhat Linux distribution. The company that releases Mandrake Linux, Mandrakesoft, is a publicly traded company in France. More recently Mandrakesoft has just gotten out of bankruptcy and looks to continue to be a very strong Linux Distribution contender. Their latest release, Mandrake Linux 10 Official, was released in May 2004.
Suse Linux was started in 1992, and was the first "real" commercial Linux vendor to appear. Suse is a very strong Linux Distributor, especially in Germany and other European countries. In January of 2004, Novell acquired Suse, and another Linux company, Ximian. Suse Linux Professional 9.1, which was released in May 2004, is the first release since Novell acquired Suse Linux.
NOTE: Linux is actually only the kernel of a complete system. Many contributors like to call a complete Linux system a GNU/Linux system. The GNU stands for GNU's Not Unix (a recursive acronym) and is the system first started by Richard Stallman, then later developed with the coordination of the Free Software Foundation. The whole name idea is to get the point of freedom across when you discuss the operating system. Within this article I will use the generic name Linux to signify the whole system, but please, keep software freedom in mind when reading this article.
All three distributions have excellent graphic installation routines. Each installation uses the same type of interface with an overview of the installation procedure on the left and the actual installation process on the right as shown in the following images.
Each installation process is extremely easy to follow. Although if you want Linux to share the hard drive with other Operating Systems on the computer, only Mandrake and Suse will automatically resize the partitions. With Fedora, you must use a separate utility, such as Partition Magic, before the installation to resize any Windows partition to allow room for Fedora Linux.
For curiousity's sake, I timed the default install of each distribution. I tested this on a AMD Athlon XP 2600+ with a 7200rpm Seagate Hard Drive. The following chart shows the results (I included MS Windows XP Pro as a reference).
|Distribution||Install size||Beginning Install to Login Manager|
|Fedora Linux RC2||2.07 GB||13 Minutes|
|Mandrake Linux 10||1.29 GB||8.5 Minutes|
|Suse Linux 9.1||1.49 GB||19.5 Minutes|
|Microsoft XP Pro||1.03 GB||22 Minutes - bare, no drivers|
Each distribution's installation did what it was supposed to do, install the distribution. All of them are very similar, and very easy to use. Although, if you need to share a drive with Microsoft Windows and don't have advanced partition tools, Fedora is pretty much out of the question. With Mandrake and Suse you also have the option of an online-update from within the installation process to ensure there are no security issues before the first boot (something that I wish Microsoft would include in their installation processes). Also, your mileage may vary depending on your hardware, just check each respective website for hardware compatibility before any purchase.
System Bootup Process
Each distribution uses its own custom graphics from bootup to desktop login. No longer must a Linux user endure the cryptic kernel messages on bootup (unless you want to).
Both Fedora and Suse Linux use Grub as the boot manager, while Mandrake uses a custom version of Lilo (with added graphics support). Of the 3, Fedora is the only distribution where you actually see any boot messages at all. Mandrake's boot screens seem to be the most integrated with each other, because the screen doesn't flicker between the boot manager and when the kernel gets loaded (because of the custom Lilo).
Fedora Linux Bootup
Fedora uses GNOME as the default desktop and GDM (GNOME Display Manager) as the login manager. The following images show Fedora's boot process.
Mandrake Linux Bootup
Mandrake uses KDE as the default desktop, and a custom login manager, MDM (Mandrake Display Manager) which is based on KDE's login Manager. The nice thing about the MDM display manager is that you are able to shut down the computer from within either KDE or GNOME desktops (Fedora won't shut down from KDE and Suse won't shut down from within GNOME, you must log out to the login screen to shutdown). The next major version of KDE (3.3) is slated to include some added functionality to KDM that MDM already provides. The following images show Mandrake's boot process.
Suse Linux Bootup
Suse uses KDE as the default desktop, and KDM (KDE's Display Manager) as its login manager. The following images show Suse's boot process.
For completeness, I decided to time the system bootup times (from the boot menu to the login manager). I used the default installations for each distribution. I also timed a bootup procedure with unnecessary services disabled, shaving a few seconds off the bootup times.
|Distribution||Default Boot Times||Custom Services Boot Times|
|Fedora Linux RC2||43 Seconds||38 Seconds|
|Mandrake Linux 10||30 Seconds||28 Seconds|
|Suse Linux 9.1||42 Seconds||39 Seconds|
|Microsoft XP Pro||54 Seconds||N/A|
All three distributions will automatically detect new hardware on boot. Mandrake and Fedora configures all new hardware during the bootup process, while Suse waits until the graphic interface is completely up before configuration. Suse's implementation is somewhat like how Windows handles new hardware, and also gives the opportunity for advanced hardware configuration features, such as loading soundfonts for MIDI playback. The following images show the differences in the hardware detection routines.
System Control Panel
To alleviate difficulties in system configuration, all of these Linux distributions utilize a graphical "control panel" for system configuration. Each distro's implementation is quite different from each other. Mandrake and Suse provide an "all in one" configuration center, while Fedora utilizes separate applications for configuration.
Fedora Linux's system configuration is somewhat reminiscent of the Microsoft Windows Control Panel where there are different "applications" that configure different parts of the system. Each application has a very clean gtk2 interface, and is very straightforward. Unfortunately, there are only a limited number of configuration applications available. For advanced system configuration, you still must open a console and edit the appropriate file.
The available configuration applications include: Add/Remove Software, Authentication (network login), Date/Time, Display, Keyboard, Language, Login Server, Network, Printing, Red Hat Network Configuration, Root Password, Security Level (Firewall), Soundcard Configuration, Users and Groups, and Services. Also if you install any additional servers, such as Samba, Apache or DNS servers, an accompanied Configuration Program will be installed as well.
Fedora's system configuration utilities are nice utilities and are well written. Unfortunately there are currently too few configuration programs, and what is available is lacking in advanced features. Although I am sure further development of these utilities will greatly improve the reconfigurability of future versions of Fedora Linux.
Mandrake Linux uses a different approach to system configuration. Instead of a "control panel" with different and separate configuration tools, Mandrake uses a single program with different modules you can access through the interface.
Although the interface seems generic, there are many, many configuration tools available. The interface overall is easy to use, although at times, the placement of where to change the configuration strikes me as odd. For example, in order to change the DNS servers you must go into the Internet module instead of the Network module. Once you find out where everything is located it is relatively easy to change just about any configuration.
Overall the configuration tools do seem a little sluggish compared to Fedora's, and I believe they are written with a GTK2 interface, which is kind of odd since Mandrake uses KDE as the default environment.
Suse Linux, like Mandrake, also uses a single program, YaST, to access all of the configuration tools. Yast has been in development for nearly a decade, and recently was released using the GPL software license, which gives the opportunity for anyone to work on and release a modified version (as long as you allow the same opportunity for subsequent releases).
The YaST interface is a little easier to get around in than Mandrake's, just for the fact that it lists the configuration categories on the left, with the actual modules on the right. Overall the YaST utility is the best configuration tool of the three. Not only does it have the most configuration modules, but each module allows finer tuning of the system, and the entire application seems very polished.
A Linux System is built using many different software applications, tools and libraries. Most of the software available for Linux will utilize other tools and libraries that are available on the system. Because of this, a Linux system is extremely customized where all of the packages available from the distributor work together as a whole.
When you start installing packages from sources other than the distributor you may break your compatibility with the distribution's packages. What causes a system to break its compatibility is that software gets installed from a package creator who has customized their system with "other than distributor" software which the software package is built against (thus relies upon to function properly). When this happens you risk the possibility that some of the distribution's software may break because this "updated" software version gets installed and the distribution's version gets uninstalled.
Another possibility that occurs quite often is that after you install a "custom" software package and you try to install a package from the distribution, the Package Manager may complain that a specific version of a software package must be installed also, and if you try to install the dependency, your "custom" software package will either get uninstalled, or worse just break without you knowing why. Then when you reinstall the custom software, it uninstalls the software you wanted from the distribution, thus a vicious cycle begins.
This is called RPM Hell (or DEB Hell with Debian based systems), and is very similar to DLL Hell when running Microsoft Windows. The best way to avoid RPM Hell is to stick to only the software that has been included with the distribution. Which means that if you rely on a specific program or utility, ensure the distribution provides it.
NOTE: If you absolutely need more software, limit the amount of different websites that you download packages from. Also, make sure that the packages you download are built specifically for your distribution (the exact version number also), and that the packages were also built with a clean installation. There is nothing more annoying than to download a package for a specific distribution only to find out that you also need 25 other packages from a different website because the author of the package had those packages installed on his machine.
If you are in doubt if a package might break your system dependencies, try to download a source RPM or DEB package and have your system rebuild the package for your system. Otherwise, sometimes it is better to just build the software from source, but NEVER install from source into the /usr directory, that is meant for packages from the distribution. Install to either /usr/local/ or just install into your home directory and add ~/bin to your PATH (most distributions do this by default).
As a last resort, if you can't live without the software package, politely ask the software author if they could send you a statically linked binary of their work (where all the dependencies are included in the binary) which should work on any Linux system.
The available software in a distribution could be one of the most important aspects of choosing a distribution. The following table shows information reguarding software packages that are included in each distribution.
|Software||Fedora RC2||Mandrake Linux 10||Suse Linux 9.1|
|Number of Packages||1,619||3,172 + 1,998 contrib||3,475|
|X Windows||Xorg 6.7.0||Xfree 4.3||Xfree 4.3.99|
|Linux Kernel||2.6.5||2.4.25 & 2.6.3||2.6.4|
|GCC||3.3.3 & 3.4||3.3.2||3.3.3|
As you can see from the table, Fedora probably has the most up to date software versions, but the amount of software available is very sparce with just over 1,600 packages. Mandrake on the other hand has the oldest versions of software, but combined with the additional contrib packages from their FTP Mirrors, it has over 5,000 packages available. Suse provides a significant number of packages for their distribution, but unlike the other two, they also provide a supplementary directory on their FTP server that adds the ability to upgrade the major sections of their distribution. Currently (mid-June 04) the Suse FTP server provides KDE version 3.2.3, as well as GNOME version 2.6.0, although I would not recommend the updated GNOME yet (needs more refinement).
Since a Linux System will contain thousands of different software packages, most distributions provide an easy to use package management application to install or remove software from the system. A good package manager should provide multiple ways to search/find the package you need. It should also automatically resolve any dependencies that may need to be met in order for the software to be installed. Some of the better package managers will even allow you to update your system, and allow you to add additional package repositories to install software from.
"Out of the Box" Fedora Linux provides an extremely bare package management system. This system only allows you to view/install packages based on categories. This package manager is good for installing the system, but is very lacking when trying to maintain software on the system.
Luckily Fedora includes the command line "yum" program which allows automatic dependency and package installation from web mirrors once you get it configured. Also there are additional package managers available on the Internet, such as Synaptic (which is based around Debian's apt command) that you can install.
Mandrake and Suse Linux
Both Mandrake and Suse provide excellent, easy to use package managers. Both of them will allow you to search or browse the software catalog with easy. They will also automatically resolve any dependencies that may arise, and allow you to add additional software repositories, such as update CDs or FTP sites.
OpenOffice.org is becoming the standard Linux office suite, and it is just behind Mozilla as the most used application on my computer. The functionality of OpenOffice.org is getting better and better with every release (although it still trails behind Microsoft Office). Most distributions are starting to include OpenOffice.org as the default Office Suite, and some even customize the package to be more integrated into the system. The following images show the different versions that are included with each distribution.
As you can see, Fedora and Suse provides custom icon sets for OpenOffice.org 1.1.1 which allow it to look more polished. Mandrake on the other hand uses OpenOffice.org 1.1 and does not include a customized theme.
A desktop environment (or window manager) is the graphic enviornment that you use to interface with your computer. One of the most common "desktop environments" is the explorer interface on Microsoft Windows, where you have a start menu, desktop icons, etc. Within Linux each desktop environment has its own interface, as well as system menu, login managers and developer tools. One advantage you have with Linux is that you have a choice on what desktop environment you use.
Today, there are two major desktop environments that populate the majority of Linux desktop installations, GNOME and KDE. There are other Window managers available, but unless you run Linux on older hardware, GNOME and KDE are by far the most popular desktop environments available.
Fedora Linux is the only distribution here to include the latest 2.6 series of the GNOME Desktop. The biggest change from the 2.4 series to the 2.6 series is that nautilus uses a "spatial" interface instead of the standard browser type interface. The good news is that the "spatial" interface speeds up nautilus quite a bit, but honestly I don't like it. It is reminiscent of the way older Microsoft Windows Explorers would always "open in new window" by default. Maybe if it could be configured to use the same window I would like it, but I guess that is what makes it "spatial".
Overall Fedora's implementation of GNOME seems relatively stable, but not as stable as the 2.4 series. The interface is "themed" away from the default GNOME look into a theme that is called BlueCurve. The BlueCurve look is a nice looking theme that includes new Window Decorations, Colors and Icons. The desktop is also rearranged from the default GNOME look, you no longer have the top panel, and the bottom panel is overly large for GNOME. If you remember how GNOME 1.x series looked, this is very similar.
Mandrake utilizes a very standard GNOME 2.4 series desktop. The only real change is the inclusion of a new theme called Galaxy, and a customized "start menu" to allow organized access to applications across the different Desktop Environments.
Suse Linux also includes the GNOME 2.4 series desktop. Unlike Mandrake though, it is somewhat customized, but in such a way that you don't notice it right away. Most of the customizations come from Ximian's work on the GNOME desktop, which makes sense because Novell also acquired Ximian as well as Suse.
The biggest change is the inclusion of Ximian's patches to GTK. Because of the this, most of the dialog boxes are tweaked a little allowing for a better user experience. There are also small changes, such as Ximian's Industrial theme being the default look.
Fedora Linux's implementation of KDE strays drastically from the default KDE desktop from KDE.org. The desktop is themed in such a way to look exactly like Fedora's GNOME desktop. Unfortunately in its default state, the desktop is extremely not user friendly. An example is there is no easy way to open a file manager on the Desktop, Taskbar or Menus. The only way to open a file manager is to go through the menus and find the Konqueror web browser and once the program launches, you must hit the home icon which will bring you to the home directory. I guess if you didn't know that Konqueror also doubles as a file manager you would be out of luck when it came to a file manager.
If you prefer the default KDE desktop from KDE.org, it is nearly impossible to get there with Fedora's implementation. Fedora really needs a nice wizard on startup that would ask you which theme to use for KDE, the Bluecurve (Fedora's) theme or the default KDE theme.
Mandrake's KDE desktop is very clean, but generic looking. Mandrake's changes mostly just include a customized "start menu", the Galaxy theme and various other settings that are changed from a default KDE installation, such as double-clicking to launch a file instead of a single click.
Suse's KDE desktop is the most polished of these three distributions. It is also the desktop that is the most similar to a default KDE desktop from KDE.org.
Suse's changes includes a customized "start menu", as well as customized applets, such as applets for hardware control, the dialup Internet Connection and Power Management applets.
Audio under Linux has come a long way in the past couple of years. The default sound system has changed from OSS to ALSA, which has helped tremendously. All of these distributions include the ALSA (Advanced Linux Sound Architecture) drivers, and Mandrake allows you to choose between ALSA and OSS by default. (Fedora and Suse would only require a Kernel recompile to include OSS).
However, I must cover the fact that Fedora does not include the capability to playback MP3 files. The reason is that distributions may have to pay patent royalties to include MP3 playback in MP3 players. The patent holder unofficially stated that they would not sue an open-source distributor, but until a legal document is obtained, the people at Redhat and the Fedora community feel it is in their best interest to not include MP3 playback in fear of future litigation. Unfortunately, MP3 playback is used by many, many applications. MP3 players, media library apps, even CD Burning applications will need to be either rebuilt from source, or downloaded from a different site if you need to have support for MP3 files.
Both Mandrake and Suse include the ability to playback MP3 files. But none of these distributions include the ability to encode MP3 files, although they all include the ability to encode in the OGG format.
In Nov/Dec of 2003, there was quite a bit of discussion on the Kernel mailing list in regarding CD Burning under Linux. The discussion was around how you had to include ide-scsi emulation in order to burn using IDE hardware. This was not optimal, since getting CD Burning and DMA to work together was nearly impossible, and Linus Torvalds was very vocal about this issue. Since then, IDE CD Burning has come a long way.
All of the distributions allow you to utilize IDE Burners without SCSI emulation. It just works. Also, each of these distributions include the excellent K3B CD writing application. K3B is becoming the standard Linux CD writing application, and is becoming more functional and useful than CD Burning applications available for Microsoft Windows.
Nvidia Video Driver Install
Fedora was the only distribution that would not properly install the Geforce video drivers available on nvidia's website (nVidia should update drivers by mid of July). Mandrake and Suse both provide ways to install the RPMs for each of its distributions. If you use the download editions, or want to upgrade the drivers, both of those distributions will properly install the drivers from the installation package (just be sure to have gcc and the kernel sources installed).
Note: If you usually rebuild your kernel using the standard kernel at http://www.kernel.org, the nVidia installer should work on any distribution.
Video playback/creation under Linux is somewhat behind other operating systems. This is not the fault of the developers or the distribution creators. Mostly it is the fault of copyright laws and media producers wanting to control how their content is accessed.
Unfortunately, there are vocal users who like to slam Linux Distributions as unusable simply because they cannot play an encrypted DVD out of the box (these people must use XP Media Center as their main OS). This is not new, over the years there have been many distractors who would say "If Linux would ....... I would use it as my main OS." The old reasons were - if I could browse the web better, or if the fonts looked better, etc. basically the old reasons have now become Linux's strengths. The current "complaint" is the DVD playback issue, which I don't think can be resolved any better than it is now. The issue at hand is about a law and not technological.
Both Mandrake and Suse provide the Xine multimedia application for video playback. Unfortunately, both are very limited in that it includes few plugins for different media types. Mandrake's provided Xine has more functionality than Suse's, and a quick download of the win32 codecs improves both tremendously. Neither Mandrake nor Suse will play an encrypted DVD "out of the box", but a quick Internet search for packages will solve this issue.
Fedora does not provide any video playback software with it's distribution, although there are many sites on the web that provide RPM packages for this functionality.
Each distribution includes excellent documentation in order to learn more about the system, including PDF User and Administrator manuals (printed manuals if you purchase Mandrake or Suse) on the installation CDs/DVDs. There are also a myriad of sites and newsgroups available for nearly any information or troubleshooting tips you may need using any Linux distribution. The following also lists certain benefits from using each distribution.
Unfortunately, when Redhat Linux spun off Fedora as a community based distribution, they also discontinued support options for Fedora Linux. So, if you want or need Corporate Level support for a Fedora distribution, you must choose to install the Redhat Desktop which is based on Fedora Linux.
Other support resources include the many Internet sites dedicated to the Fedora distribution. Some sites include:
KDE RPMs for Redhat - custom built packages to enable more of a default KDE Desktop
Livna.org - custom built packages for Fedora
FreshRPMs -custom built packages for Fedora
Mandrake has a very interesting support structure, they implemented a membership site called the Mandrake Club to allow members to download packages, ask questions, etc. The membership is actually very reasonable for what benefit you can receive from it. It is also based on a tier system where businesses can receive an extended level of support. Mandrake also provides a pay support system where you can prepay or just pay for phone support.
If you decide to stay with Mandrake as your main Linux distribution, I highly recommend joining the Mandrake Club. Otherwise some other sites on the Internet with additional information or packages include:
Thac's RPMS for Mandrake - custom built packages for Mandrake
Penguin Liberation Front - custom built packages for Mandrake
Mandrake Users - Web based forum for Mandrake
Suse's support infrastructure is by far the best of the three. This stems from the fact that Novell purchased Suse, instantly giving a large corporate support team to a Linux distribution. Not only does this mean improved technical support, but Novell has already released a version of ZenWorks for Suse Linux. The ZenWorks package is what you might call Active Directory done right, (Microsoft totally ripped off ZenWorks when it "invented" its Active Directory implementation) which means that Suse Linux has Enterprise Level support applications to manage, organize and roll-out every Suse Linux desktop over a network.
Getting away from Corporate support, there are also a wide variety of sites dedicated to Suse Linux, such as:
Packman.Links2Linux.org - custom built packages for Suse
usr local bin - custom built GNOME Desktop for Suse
Suse unofficial Projects - Suse built unofficial packages
Linux is getting stronger and stronger with every distribution release. All of the distributions compared here are ready for the corporate desktop. Which one is right for you, is up to you. Linux has always been, and always will be about choice.
To sum things up, if you like a system that has a good base and aren't afraid to use the command line to administer or build packages, Fedora is a good choice. If you like to have all the applications you use readily available, nice utilities to administer the system and a single website that you can go to for help, Mandrake is a good choice. If you like a polished, easy to configure system with additional corporate support, Suse is a good choice.
As Linux advances, will it ever overtake Microsoft on the Desktop? I am not sure, but I believe it will happen. Microsoft probably will not release a new desktop OS for at least until November 2007 (When the DOJ restrictions are lifted), which gives an excellent opportunity for the Linux distributors to fine tune their systems, hopefully giving users a viable choice on the desktop. So the question remains, do the Linux distributors and developers have the attention to detail it will take to replace Windows on the desktop ?