CentOS vs Ubuntu
I've had linodes for the better part of the last several years. Though for most of this year I've have my sites on a managed service (some of the administration for one of my sites got too complicated and time consuming for me to deal with). That's no longer an issue and I'm ready to move my sites back to a Linode again.
I've always used CentOS on linode because it's what I was familiar with from working on Cpanel servers in the past. In the 90's I ran Solaris boxes (sparc and x86) and CentOS felt the most similar to that.
The last time I ran CentOS on Linode I recall running into a few things that felt like a real pain. (e.g. one was related to a problem with a library that was needed for a module that I was trying to compile into nginx and something just wasn't work another was I needed to use a FUSE mount for something I was doing and it never behaved properly).
I read somewhere that Ubuntu is the most widely used OS now on linode and recall in the past some people making negative comments about CentOS when I was chatting with them about it.
It seems to make the most sense for me to give Ubuntu a try. How much difference will I find in using Ubuntu vs CentOS?
I assume the learning curve to Ubuntu can't be that bad coming from CentOS. From what I've read it seems packages are a bit more available and well maintained for Ubuntu, does that seem like an accurate impression?
init.d/service vs chkconfig
sudo everything vs using a grown up login
modern to bleeding edge vs staid, stable, secure
cluster f**k of noobs vs system engineers on their community forums
apache2 vs httpd
rabid fanboys vs geeky engineers
Overall, it's not alllllllllllll that tough. With RHEL/CentOS going to Systemd (what a baaaaaaaaaaaad decision - guess what Redhat, I don't need a tablet/smartphone OS on my freaking server), we've been playing around with other OS options - probably move to Debian if RHEL/CentOS 7 turns out to screw us over on our half a bazillion scripts. Since both Debian and Ubuntu are free, why go with the copycat???
Of course YMMV - so do your own testing.
As vonskippy noted there are a few differences between the two distros (and they are easy to learn), but most of your interaction with the Linode will be via cPanel.
We have a Linode running CentOS 5 and are testing two Linodes running Ubuntu. I've found that the major differences with day-to-day administration are based on how the control panel software we're using changes the overall system configuration.
we're running Kloxo on CentOS (Kloxo turns out to be a PITA and was a bad choice on my part; CentOS works great).
we're running Ajenti on one of the Ubuntu systems (very positive experience, except no email user management in Ajenti).
we're running no control panel software on our other Ubuntu Linode.
I've had no troubles switching from CentOS to Ubuntu. If you've been using cPanel, and you're going to continue to use cPanel on your Linode, then you'll encounter very few bumps if you used Ubuntu.
Since both Debian and Ubuntu are free, why go with the copycat???
That is hardly a fair minded estimation considering all the hard work Ubuntu developers put into making a great OS, which stands on the shoulders of Debian a great foundation OS.
Ubuntu shines in the number of packages available (especially if you enable universe and multiverse). The CentOS base is quite slim, and you may need to add third-party repositories to get the software you want to run. Also some software versions can trail behind what's considered "current" (but that's not necessarily a bad thing).
Given the changes in direction Canonical has been making, I wonder about their commitment to continue producing Ubuntu server. I would expect them to support already-released versions for their announced lifetimes, but I could be wrong.
There are some differences in flavor, but you get used to it after a short time.
In brief, if I were setting up a server and CentOS offered the software packages and versions I needed, I'd choose it. Even if some non-standard packages had to be installed I might choose it. But if more than a smallish amount of futzing was required and Ubuntu offered up an easier path, I'd likely choose Ubuntu server.
I'll admit that I'm less familiar with how CentOS works, but their support schedule seems to work differently.
Ubuntu considers each release to be a major revision, with LTS releases coming every four releases (falling on the spring release). They then support these LTS releases fully for 5 years.
CentOS breaks it down into major releases (like CentOS 6) and minor releases (like CentOS 6.1). Minor releases don't seem to change much; kernel version doesn't change, for example. They support a series (like 6) for six or seven years for full updates, and ten years for maintenance releases. This does seem to require that you continue to install minor releases, however.
So they're quite different strategies.
It would seem to me that CentOS is best for people who want consistency above all else and don't care if they're years behind on software, while Ubuntu is best for people who still want predictable reasonably long-term support, but do want to be able to occasionally refresh their software (such as upgrading between LTS releases every two to four years).
One issue I see with CentOS is that you have to start out with very out of date software when you first install it; the bleeding edge version of CentOS is using a kernel from four years ago. But that's just what some people want/need.
The "unstable" (bleeding edge) branch is rolling, and "testing" branch (more stable than some other distros' releases) is rolling early on, but then slows down, and after a while becomes frozen, accepting only fixes. After it's decided to be good enough, "frozen" becomes new "stable" release, and new testing starts to roll.
The "release" itself, a.k.a. "stable", is usually quite outdated, but very well-tested, and does not receive any updates other than security patches.
There are refresher "point releases" (e.g. 7.1) that include repackaged patches and sometimes some small functionality updates.
Debian always provided support for most recent and previous release ("stable" and "oldstable").
And IIRC they just decided to aim for a 2-year cycle between releases. Might be 1-year, not sure, but doesn't quite sound right.