I am a network engineer/sysadmin who is employed by a cancer/bio research non profit. We have several supercomputer clusters, one of which was high on the list of the Top50 at one point.

I'm just going to ramble on incoherently for awhile until I stop...

My background was originally with FreeBSD, and then I switched to Debian GNU/Linux back in 97/98. There are still a number of things about FreeBSD that Linux doesn't have, and I wish it did; console scrolling behavior, getuid on directories, the network filtering tools, etc etc.

I am going to bash Red Hat/CentOS here a little bit, but I'm not going to hold back criticism against the deb distributions either.

I am not going to address desktop issues here at all, other than to say that I am typing this now from a Debian unstable, which is my primary home workstation. I'm mostly talking about server/shared-host system usage here.

For me, at home, it's all Debian. At work, we have a mix of Ubuntu LTS, CentOS, Rocks clusters, big Luster filesystems, and some OSX Server. We are in the slow process of installing more Ubuntu, and slowly getting rid of the CentOS. The exceptions is the Rocks clusters and where we use Lustre/Infiniband, mostly because of Scientific Linux (forgot to mention that one) and the ready-to-install distros that fit our research needs. Ubuntu/Debian has been getting better at supporting this area, and we will probably re-evaluate this in the future and switch over if we can.

For the uneducated, you can basically break the big Linux distros into two camps: .deb based (Debian, Ubuntu), and .rpm based (Red Hat, CentOS).

I can't really get around saying this any other way, so let's just get to it: CentOS is Red Hat for people too poor/cheap to pay for Red Hat. If Red Hat was free as in beer, CentOS would not exist. There is really no educated argument against this. The only people who I've ever seen bother to argue against this do so because they don't know anything else and take it as as personal attack, which it should not be.

Red Hat as a company is doing really great things for Linux, and almost always has. They employ a lot of top talent and everyone in the Linux/GNU world benefits from it. A lot of people who are using CentOS should be using Red Hat.

Red Hat and it's children have replaced their package management tools and formats multiple times now. They did this because they sucked and for whatever reason, evolutionary progress never happened within those existing tools. This is a huge negative to me and it's one of the reasons why I started using Debian over FreeBSD in the first place; I saw that Linux was really the future, and that compiling everything all the time was for suckers (sorry all ye Gentooders).

There are some specific software packages that were made to only run on Red Hat. I'm thinking about Oracle, but there are some other big ERP systems and such thing. In these cases, it's either Red Hat or CentOS. Fighting the developers who wrote these big(dumb) software packages to run on just Red Hat isn't worth your time, so just go with am rpm distro and get on with life.

Debian is a huge complicated professional community. I don't just use Debian because of the base distribution itself. I use it because of it's awesome bug tracker, the users and developers who are involved, the mailing lists, the design decisions, the tiny netboot image that I can install from, the huge number of packages and the sanity of the package management system, it's security notification and release system, and the online documentation resources.

This reminds me of the fact that on my home server, I installed it off a Debian CD back in like 2000. Since then, no CD or outside media has ever been involved in upgrading it (even for the transition from i386 to amd64). Debian/Ubuntu upgrades are all over the network and in-place. Contrast this to Red Hat/CentOS where even today, most admins have to back up everything, wipe, and re-install with a CD. I think modern releases FINALLY have the ability to upgrade between major revisions in place, but this has ALWAYS been the case for Debian. "apt-get dist-upgrade" and that's it. Some people will fight me on this, but this happened at work just two weeks ago: Our top CentOS sysadmin upgraded a system using a CD because that's the way he had been doing it for the last ten years. In-place major version upgrades is not well supported under Red Hat, and before a couple of years ago, it wasn't even supported.

Ubuntu came along as an upstart and has created it's own community. Ubuntu is a vehicle/tool for Canonical, so you need to understand that it's not driven by the community like Debian is. That being said, Ubuntu's ease-of-use is why we use it at work, because I don't expect our low-level sysadmins to suddenly become awesome. They need something that was built with ease-of-use in mind, even at the expense of flexibility.

I have been disappointed in a few things about Ubuntu. I've ran into some weird kernel stability problems with Ubuntu that our CentOS hosts never ran into, all on the same hardware. Their insistence to mess with motd in every damn release bugs the hell out of me. The Ubuntu guys spend a lot of time fixing things that ain't broke, so core tools and daemons get replaced every once in awhile and I have to re-learn something for what are dubious benefits.

I was one of those people who was unhappy with Ubuntu in the early days, for taking and taking from Debian and giving nothing back. But I also was very sympathetic to why a lot of Debian contributors went over to their side, because of some of the slow progress and procedural community complexity that Debian has.

Debian has a bad name for itself, in that people associate it with being old. This is true, in the "stable" distribution, and in the past, I've been really frustrated in just how long it took certain core packages (kernel, Samba, Apache, etc) to get from unstable into stable, to the point where a lot of people, myself included just ran unstable on our servers and dealt with the occasional breakages. You learn a whole lot about how things really work when you install a bad version of mdadm and lvm.

I just run Debian unstable on my desktop and servers. Yes, I've had a few buggy accidents, including one time in the last two years where a remote server lost it's networking because of a bug in the ifrename package, but problems like this have been very very sparse.

My personal experience is that higher quality admins use deb-based distributions over rpm distributions. Almost all of the noob/idiot admins that I've ever met were CentOS/Red Hat people. It's not so much that they had chosen rpm distros, so much as it's the only thing they had ever known and didn't seem interested (or maybe capable) in learning anything else. I often find that rpm distro users think RedHat = Linux and in some cases, they are not even aware that anything else exists.

As for CentOS, it's community isn't that great. Again, they are just leaching off Red Hat. You can't make design decisions or anything else, because each release is to take what Red Hat puts out, scratch off the Red Hat label, and re-publish as CentOS.

At one point, Lance Davis disappeared FOR MONTHS and seriously threatened the CentOS project and community. That's pretty much all you need to know about CentOS:
http://www.linuxnewstoday.org/linux-news-jul-2009-archives/1...
http://www.bit-tech.net/news/bits/2009/07/31/centos-project-...

Final thoughts...

I've heard this quote multiple times: "I've heard a lot of people say that Red Hat is the most popular distro, but I don't think I've ever heard anyone claim it was the best."

With Red Hat, you are a customer. With CentOS, you are a user. With Debian, you are part of the community. With Ubuntu you are using Debian for lusers.

ps: I have good things to say about Arch and Gentoo, but I'm an old fart Debian guy.

Use Ubuntu by default. Use Red Hat only if you have to. Use CentOS because you are too cheap/poor to pay for Red Hat. Use Debian if you are a pro. Use OpenBSD if you want to be secure.