Hello, I will try today to share my little experience on using Linux, the distributions I have tested are:
OK, first we will compare them based on facts, and not on personal opinions, later I will let you know my preferences.
Number of packages available:
There could be some errors here specially because of the big number of repositories each distribution 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.
The release cycle is an important parameter based on what you want, and what you use Linux for. We have two options with this four distributions we are studying here.
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 versions of applications.
- 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
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 risks. 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 in need of the latest version of packages in its systems, the rest you will have to choose according to your needs.
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.
- 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
- 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.
- 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.
- 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.
From this small analysis you may decide 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.
- Disaster Recovery tools
- Gparted (Good for partition)
- Knoppix (Which is a Debian based Linux and one of the best Live Distro out there)