Those choosing a Linux distribution for their virtual private server or dedicated server have an almost limitless number of options. Because the Linux ecosystem is open source, anyone with the necessary skills can build and release their own distribution. There’s even a distribution called Linux from Scratch, which is a set of instructions for putting together a distribution from source — although I wouldn’t recommend anyone uses it for their web hosting server.
In spite of the number of Linux distributions, two are dominant on servers: CentOS and Ubuntu Server. They are both excellent choices, but when choosing between them it’s useful to know the ways in which they are different. I want to have a quick look at the origins of each and the differences between them.
Overview of Ubuntu: A Decades-Long Legacy in Linux
Ubuntu is based on the venerable Debian distribution. Originally developed as a desktop Linux distribution, it is nevertheless among the most powerful distros on the market. It offers a fast, frequent update cycle with regular bugfixes, and a powerful set of package groups diverse enough to fit just about any server hosting requirements.
Management of these diverse package groups are made simple through Ubuntu’s unified package repository. Administrators considering Ubuntu are able to quickly and easily switch between different distributions until they find one that fits. In spite of this versatility, however, it is not without its weaknesses, which I will discuss momentarily.
Overview of CentOS: Get Ready To Put On Your Red Hat
CentOS is a free clone of Red Hat Enterprise Linux, which has the distinction of being the most widely-supported distribution in corporate IT. This immediately puts it ahead of Ubuntu in terms of support. Moreover, because of its similarities to RHEL, working with CentOS means you’re developing expertise in an incredibly widespread, incredibly dominant distribution.
That alone gives strong points in CENTOS’s favor.
It is also extremely stable and secure. Though this might perhaps be unusual for a community-driven platform, this makes it an ideal choice for any server that’s Internet-facing, especially ones which host sensitive data. CentOS is made even stronger by the fact that it has official Red Hat support, as well.
What’s The Difference?
As you can see, the respective origins of each distribution shape the most important difference from a user’s perspective: the package management system.
Ubuntu uses Debian’s .deb format and the tools created to manage it, namely apt-get and its siblings. CentOS uses the RPM format and the yum management tool. They are different, but more or less equivalent in functionality. Users who learned Linux on a Debian derivative will be more comfortable with apt-get, and those familiar with Red Hat systems may prefer CentOS, but if you’re new to Linux, the package managers aren’t really a strong differentiating factor.
RHEL is fairly conservative when it comes to upgrading software, privileging consistency and security over being on the cutting edge. Ubuntu is less conservative with a shorter release cycle, so new software will almost certainly land in the Ubuntu repos before CentOS users get it. Which a user prefers depends on their specific use case.
A major factor that might influence web hosting clients to choose CentOS is web hosting control panel compatibility. Within the web hosting industry, CentOS dominates, and most web hosting control panels, including InterWorx and cPanel, focus on RHEL derivatives like CentOS. If you plan to offer web hosting services using a control panel, then CentOS is probably your best bet.
As I mentioned, CentOS has a longer release cycle; it also has a much longer support cycle. Ubuntu’s Long Term Support releases, which are released every two years, have a support life of 5 years. CentOS 6 was first released in 2010, has had 5 minor point releases, and will be supported until November 2020. If you value consistency and a long support cycle, CentOS is an excellent choice, especially now that it has officially become part of Red Hat.
There are a number of other minor differences between the two with regard to security philosophy (Ubuntu forces sudo use by default and disables the root account), packages, and development, which don’t have much of an impact on the vast majority of users. Even so, if you work in an industry where security is a critical consideration such as finance, healthcare, or government, such features are attractive – even if they don’t necessarily put Ubuntu ahead of CentOS in terms of security.
Additionally, Ubuntu’s wealth of features means it tends to be somewhat heavier than CentOS. And because it’s developed on Debian – a distribution made more for experts than anything – it can also get very complicated, very quickly. This means that if you don’t have a team of Linux experts on-board, your IT department could wind up feeling extremely overwhelmed.
Final Word: CentOS vs Ubuntu
So, which of these servers is the superior choice? If you’re choosing to host a server, should you go with CentOS or Ubuntu? The jury is still out, if you can believe that.
I should explain. It might appear that I am in favor of CentOS. The truth is, Ubuntu Server is also an excellent choice and can do everything that CentOS can.
CentOS may occasionally be behind the curve, but it’s also incredibly reliable. You might not get all the new bell and whistles, but you will enjoy support by the majority of the hosting industry. If compatibility, reliability, and stability are critical considerations, CentOS is the safe choice.
That said, for Amazon’s EC2 platform, Ubuntu Server shows some serious power. So if you’re running something with EC2, go with Ubuntu. If you want a bleeding-edge distribution (and don’t mind a few bugs) go with Ubuntu. If your server footprint isn’t an issue, and you don’t mind not always having widespread support, go with Ubuntu.
But at the end of the day?
It all really comes down to personal preference – which system does your team want to use? That’s the question you should seek to answer more than anything.