CentOS is a robust community-driven operating system that runs on millions of
servers and desktops.
Photo by Alex Braga on Unsplash |
While the enterprise has elected
Red Hat Enterprise Linux (RHEL)
as its operating system,
CentOS, its community-driven
sibling keeps shining.
According to Datanyze's, CentOS's market share is second only to
Ubuntu. There a
multitude of reasons to run CentOS. Let's review some of them below.
With the news that
Red Hat is shutting down the CentOS project and moving to CentOS Stream, I definitely cannot recommend CentOS for your server anymore.
What's CentOS?
CentOS is a Linux distribution that provides a free, community-supported computing platform functionally compatible with its upstream source, Red Hat Enterprise Linux. In 2014, Red Hat announced that the CentOS Project would join the RH family but would remain independent from RHEL and Red Hat itself.Why CentOS
So why consider CentOS? CentOS is a very stable, predictable, secure and free Linux operating system. It's one of the most deployed OSs on the server and most stable operating systems out there. Let's review some of the reasons why you should run CentOS on your servers, containers and potentially your desktop.Stability
When we talk CentOS, the first thing that comes to mind is stability. But
that's not luck. The community runs extensive regression and automated tests
on new releases, security fixes and updates. This guarantees that your server
will be running stable software.
10-year support
CentOS comes with 10 years support. That's huge, especially for enterprise software. They also come with stable ABIs meaning that packages built today with will still run 10 years from now.Extensive Software Selection
CentOS also provides a robust software repository. There are three primary repositories (also known as channels) containing software packages that make up the main CentOS distribution:- base - contains packages that form CentOS point releases, and gets updated when the actual point release is formally made available in form of ISO images.
- updates - contains packages that serve as security, bugfix or enhancement updates, issued between the regular update sets for point releases.
- addons - packages required for building the packages that make up the main CentOS distribution, but are not provided by the upstream.
As of this post there were more than 75 thousand packages available for quick
install:
Apart from a very wide selection from the package repository, CentOS also offers AppStreams channels, which allows you to choose between a stable (but older) or newer packages one without breaking the system. The CentOS project also provides several additional repositories that contain software packages not provided by the default base and updates repositories. Those repositories include CentOS Extras, CentOSPlus, CentOS-Testing, Software Collections and more.
Apart from a very wide selection from the package repository, CentOS also offers AppStreams channels, which allows you to choose between a stable (but older) or newer packages one without breaking the system. The CentOS project also provides several additional repositories that contain software packages not provided by the default base and updates repositories. Those repositories include CentOS Extras, CentOSPlus, CentOS-Testing, Software Collections and more.
AppImages and Flatpacks
Still on software selection, there's still a third option to install software
via AppImages and
Flatpaks which include
stable versions of popular software such as Firefox, LibreOffice, video driver
and multimedia capabilities.
Modules
Besides individual RPM packages, AppImages, Flatpacks, the AppStream repository contains modules. A module is a set of RPM packages that represent a component and are usually installed together. A typical module usually contains packages such as applications, dependency libraries, documentation for and related helper utilities.LTS Kernel
CentOS is always released with a LTS Linux kernel. That means you also get stability at the kernel level including a decent and reasonable up to date access to hardware, good support for latest features without breaking-changes.Backported every 6 months
The Kernel, the desktop and the graphic stack are also backported every 6 months. That means you'll be running recent and stable server and desktop software like GNOME and KDE, similar to what Ubuntu does with their LTS releases.Solid Updates
CentOS is updated no more than twice a month. That means stable and more up to date software than Debian stable for example.Reliable Upgrades
In case you need, CentOS upgrades are also very reliable. Releases essentially follow RHEL (usually every 2 years) and count with extensive testing from the community so that the upgrade is smooth with as little downtime as possible.Security
Apart from up to date packages, CentOS also ships with SELinux, a mandatory access control (MAC) security mechanism implemented in the kernel. SELinux was first introduced in CentOS 4 and significantly enhanced in recent releases. Hardening a CentOS server is also very well documented. Please check this page for for more information about how to secure your system's filesystem, packages, users, networking and more.CVEs
Identified CVEs are usually released very quickly by Red Hat and integrated as soon as possible on CentOS. Patches and bugfixes should follow closely Red Hat's Security Advisories and are usually released on the RH family earlier than on other distributions.Stable Upgrades
Upgrades are pretty stable so you most likely won't need to reinstall or perform major upgrade from scratch in existing instances. Keeping the maintenance to a minimum is a very important premise for the enterprise as they usually run fleets ofFriendly Community
CentOS is also built by a very competent and low profile community. Everyone is invited to be part of the community and contribute. The channels for doing so are also very well documented.No Customizations
CentOS also ships with software as close to upstream as possible - a big difference from utter-customized distributions such as Ubuntu. That guarantees a more stable environment and standard tooling for sysadmins and developers.Widely Used
According to Datanyze's, CentOS, with 15.65% of the market, second only to Ubuntu at 25%. It's popular because CentOS is a Red Hat Enterprise Linux (RHEL) clone with most of RHEL's top-tier business server Linux benefits but without RHEL's costs.Multiple Architectures
You can run CentOS in a multitude of architectures including x86-64, POWER8 and 64-bit ARM.Validated on mission-critical environments
CentOS has been validated on mission-critical environments. For example, CentOS is Facebook's choice for its datacenters. The company runs it on hundreds of thousands of servers (btw, they also run Fedora on the desktop).Extensive Documentation
There are a lot of well documented tutorials and how-tos in the internet. Plus, all the material for Red Hat certifications apply to CentOS too!SELinux
CentOS also comes with SELinux (Security-Enhanced Linux), a mandatory access control (MAC) security mechanism implemented in the kernel. SELinux was first introduced in CentOS 4 and significantly enhanced in later CentOS releases. These enhancements mean that content varies as to how to approach SELinux over time to solve problems.Virtualization
Virtualization is also a very important requirement these days. CentOS offers easy access to modern virtualization technologies such as Xen and KVM. Please check the extensive documentation on the topic for more information.Free RHEL Alternative
CentOS provides most of RHEL's top-tier business server Linux benefits without RHEL's costs. As previously mentioned, it also brings 10-year support, security, virtualization and a fantastic software repository. It's tool that definitely developers and aspiring sysadmins should learn, use, test, study at home.Container-Friendly
As with virtualization, CentOS is also ready for the container world. Being available as a base image on Docker Hub, it also ships compatible open source alternatives to Docker such as Podman and Buildah. with which you could build, deploy and run your custom containers too.Ready for Public Clouds
CentOS is very widely deployed on public clouds such as AWS, Azure and Google Cloud offering a complete set of infrastructure and application services that enable you to run virtually everything.Ready for Private Clouds
CentOS is also well positioned to run on private clouds such as Docker, CloudStack, OpenStack and OpenShift.Kubernetes-Ready
CentOS is also a very popular and sound choice for Kubernetes, the leading container orchestration platform.CentOS Stream
Apart from the traditional CentOS server, the community recently announced CentOS Stream. CentOS Stream is a rolling release distribution that sits as a midstream between upstream Fedora Linux and downstream RHEL. CentOS Stream includes more up-to-date software, giving developers the opportunity to weigh in on planning, and making it easier to ensure compatibility between applications. CentOS stream benefits developers writing software for RHEL and improves the integration between Fedora, CentOS, and RHEL.CentOS on desktops
Yes, CentOS also runs on desktops. But should one use it on the desktop? The answer is obviously - it depends. For most people, I still recommend Fedora Linux. Fedora is an excellent distribution and shares its roots with both CentOS and RHEL. But, there are indeed cases in which running CentOS would be better. For those seeking a more stable system with less frequent updates, CentOS would definitely be an excellent option too!Conclusion
On this post, we reviewed some of the reasons why run CentOS on the server. CentOS is an excellent, community-driven stable, robust and resilient enterprise Linux operating system. You should also try CentOS Stream which lives in-between Fedora and RHEL. CentOS Stream also will make contributing to future versions of RHEL much simpler and more direct.
With the news that
Red Hat is shutting down the CentOS project, I definitely cannot recommend CentOS for your server anymore. 😌 However,
it still has its value if you're developing for
RHEL.
Btw, don't forget to consider Fedora Linux as your desktop operating system.
References
- CentOS FAQ
- CentOS HowTos
- CentOS Tips and Tricks
- CentOS - Introduction to Modules
- What's new with CentOS at Facebook
- What Is a VHDX File
See Also
- My journey to 1 million articles read
- Red Hat is shutting down the CentOS project
- 20 tips to manage Linux VMs on Azure
- How to create a CentOS VM on Azure
- How to create a CentOS Stream VM on Hyper-V
- Why use Fedora Linux
- Creating a Ubuntu Desktop instance on Azure
- Windows Subsystem for Linux, the best way to learn Linux on Windows
- Building and Running ASP.NET Core apps on Linux
- Copying data between Azure databases in 3 easy steps