[Update: 01/24/2011 - You may to also read a newer “kind of” Linux Distribution comparison

</p>

Hello, I will try today to share my little experience on using Linux, the distribution if have tested are:

  • Fedora
  • CentOS
  • Ubuntu
  • Debian

OK, first we will compare them with some facts, no personal opinions, later I will let you know my preferences.

  1. Number of packages available: Here could be some errors specially because of the lot of repositories each distribution may have, I will try to use only the most common ones.

    • Fedora.- (Repositories enabled are: core, extras, updates, livna) The number of packages reported by yum list all command is: 7334.
    • CentOS.- (Repositories enabled are: kbs-CentOS-Extras, update, rpmforge, base, contrib, addons, extras) The number of packages reported by yum list all command is: 5785.
    • Ubuntu.- (Repositories enabled are: main, restricted, security, universe, multiverse) The number of packages reported by apt-cache stats command is: 24088
    • Debian.- (Repositories enabled are: main, security) The number of packages reported by apt-cache stats command is: 23851. As we can see here Debian and Debian based Ubuntu has a lot more packages available 4 to 5 times more! This are partial numbers as the four distributions listed here, could have more repositories enabled, but it is just to illustrate the difference in package available.
  2. Release Cycle: The release cycle is an important parameter if depending on what you want, and what for you are going to use your Linux. We have two options with this four distributions we are studying here.

    1. One is the long cycle release.-

      • Pros.: You will have long time support for your applications, and for all the packages, this is good if you need a lot of time to configure and fine tune your system, and if you do not need the latest applications versions.
      • Cons.: If you need a fresh release of any package for instance MySQL or Apache, you will have to download and compile by yourself, and also take care of the dependencies, (you may use CentOSPlus repository or Backports for Debian), but anyway you will normally have to wait until you have your system up to date with all packages. We have in this group:
        • CentOS: Which major releases are each 2 years more or less, with partial releases in the middle
        • Debian: Which release cycle is also 2 (or even more) years, it is famous for its ?When it is ready? release cycle.
        • Ubuntu: Which release is every six moths but it now has LTS (Long term support) edition, which actually is Dapper Drake
    2. Two is the short cycle release.-

      • Pros.: You will count always with the latest versions of the packages, always with an up to date system.
      • Cons.: You will have to update / upgrade your system too quickly which could be time consuming, and difficult for companies which need 24 hours up service, an upgrade always has its dangers. If you stay with the old version and do not upgrade you could loose security support and upgrades, and get exposed to hackers. We have in this group:

        • Fedora: Which release cycle is each six moths more or less, with no partial upgrades in the middle.
        • Ubuntu: Which release cycle is each six moths for its not LTS versions.
      • We could see that Ubuntu has some of the two worlds, it has an LTS version for those who need stability and a fast release cycle version for those needing the latest version of packages in it’s systems, the rest you will have to choose according to your needs.

    3. Upgrade difficult level.- This is another topic I want to touch, this is more abstract than the others but I will to my best to be concise.

      • Fedora:

        • Live upgrade: Not to easy not recommended, could cause problems to your system.
        • From the CDs: Easy to do, and the recommended option by everybody, normally has no problems.
      • From this we can see that if you have easy access to the CDs this is a distribution good for you, as the upgrade comes from the CDs

      • CentOS:

        • Live upgrade: Not easy not recommended, could cause problems to your system.
        • From de CDs: Easy to do, and the recommended option by everybody, normally has no problems.
      • CentOS like Fedora is better upgraded from its installations CDs with anaconda, so if you have easy access to the CDs once the new version is released is a good option for you.

      • Debian:
        • Live upgrade: Really easy, apt-get or aptitude take care of everything you just need to issue a command and your will system will get upgraded.
        • From de CDs: I have never tested, but you can download the update CDs to update your version to next one, or use jigdo to convert your old image in the new one.
      • Ubuntu:

        • Live upgrade: As a Debian based Distro, ubuntu can be upgraded from the command line with apt-get or aptitude.
        • From de CDs: Once again as this distribution is based on Debian it can be used jigdo to convert a previous release image into a new one just downloading the .deb packages that have changed.
      • Debian and Ubuntu are more flexible for the upgrade than the RedHat based ones like Fedora and CentOS.

Conclusions.-

From this small analysis I think you should think about this to make your decision about which Distribution of Linux choose to work (Remember there are more that 300 out there, I am only taking 4 of them).

If you want to have the latest software available, like Compiz/Beryl support the latest MySQL or PHP then you should go after Fedora or Ubuntu on its non LTS version.

If you want to have the most tested / stable and do not care about the versions of your packages, but prefer stability rather than the latest versions, then your option is CentOS, Debian or Ubuntu LTS.

This apply for Servers and Desktop applications, it is up to you to choose the one that fits your needs, it is also good to test some of them before you go after one.

Note.- If you have a low resource machine you can look for:

  • Puppy Linux
  • Damn small Linux
  • Sabayon Linux

If your needs comes from an specific solution like.

  • Firewall

    • Smoothwall
    • Ipcop
  • Disaster Recovery tools

    • Gparted (Good for partition)
    • Knoppix (Which is a Debian based Linux and one of the best Live Distro out there)

Update: Hi, My friend from http://polishlinux.org, has this two excelent articles that are relevant to this topic.

Please read this articles. Compare Distros Distro quiz

Related Links: CentOS Debian Fedora

Ubuntu

Damn Small Linux Puppy Linux Sabayon Linux Gparted Knoppix

Also If you want to see some Screenshots

Debian Installation

And Screenshots of them running Fedora: http://shots.linuxquestions.org/?linuxdistributionsm=Fedora%20Core%206 CentOS: http://shots.linuxquestions.org/?linuxdistributionsm=CentOS%205 Ubuntu: http://shots.linuxquestions.org/?linuxdistributionsm=Ubuntu%206.10 Debian: http://shots.linuxquestions.org/?linuxdistributionsm=Debian%20Etch%204.0