IntroductionUbuntu and CentOS are both major players in enterprise environments and in the datacenter. There's no denying that both distributions have proven themselves in the server space, but with closer examination, these are two very different animals.
Ubuntu is an excellent all-around contender. CentOS is purpose built for the enterprise in every aspect of its design.
Package ManagersThese two distributions come from entirely different lineages. Ubuntu is a direct descendant of Debian, while CentOS is a clone of Redhat Enterprise Linux. As a result, they have entirely different package management systems.
Ubuntu uses Apt, the Advanced Package Tool. Apt is standard for all Debian based distributions. Apt uses more explicit controls that force you to manually update repositories and import keys when necessary. That said, it's also a very powerful tool.
CentOS uses Redhat's Yum, the Yellowdog Update Manager. It handles update automatically when new software is installed, and it tends to be a more speedy and direct way to install software.
It should be noted that Apt has tools and capabilities build in to handle version upgrades between releases of the entire operating system. Yum doesn't have those capabilities, leaving most Redhat/CentOS users to opt for a clean install to upgrade.
BLUE SKY STUDIOS are looking for Linux Administrator to maintain and support the Studio's 450+ production Linux workstations, including daily interactions with the Studio’s digital animation artists.
LOCATION: Greenwich, Connecticut, USA
RepositoriesUbuntu has absolutely massive repositories. That's partly due to its popularity, but it's also because Ubuntu targets nearly all audiences and use cases. Ubuntu also has a lot of third party and community support. There is a wealth of additional repositories available for Ubuntu.
CentOS has more limited, but targeted repositories. You'll probably have a hard time setting up a general purpose desktop with CentOS, but you'll find everything you need for a server.
You'll also find that the age of the software in these repositories will differ greatly, even on server releases. Ubuntu has much newer packages. CentOS, on the other hand, will maintain packages for years, choosing instead to keep things ultra consistent.
Anaconda has more options that let you easily configure installation and storage devices as well as the software included by default. With Anaconda, you can set up a server out of the box with the install.
Release CycleUbuntu and CentOS both have server releases, but their overall release cycle and process is very different.
Ubuntu puts out a new release roughly every six months. Those are its desktop releases, and they're not supported for very long. Every fifth release is a long term support release. Those are supported for five years, and Canonical offers support contracts for them.
A new version of CentOS is released roughly every three to four years. Its release schedule is tied to RHEL, since it's a clone. CentOS usually comes right after a new version of RHEL is released. Each release of RHEL, and in turn CentOS, is supported for around ten years.
Corporate BackingBoth Ubuntu and CentOS are backed by major corporations, but the nature of that support differs greatly.
Ubuntu is Canonical's primary product. They work hard to develop a complete community and software environment around Ubuntu. Their release schedule is designed to be conducive to that as well. Official support is available for Ubuntu's LTS releases, and Canonical works with hardware partners for better support under Ubuntu.
Redhat owns the CentOS project, and they help it with resources and information. However, that's about where it stops. CentOS is forced to work off of the work done on RHEL, and adapt around that. Redhat doesn't offer support contracts for CentOS or work specifically to ensure support for it. The CentOS developers do work to ensure that it is as close to an exact copy of RHEL as possible, ensuring that all RHEL knowledge is transferable.
Closing ThoughtsBoth of these distributions are an excellent choice for a server. The question between them really comes down to what you want more. CentOS is great if you like the Redhat ecosystem or you want an enterprise system with extra long term support.
Ubuntu is a better choice if your prefer the Debian family of distributions and you'd prefer more flexibility and more updated software. Ubuntu is also a great choice if you want the same distribution on your desktop and server.