Cloud Native / Linux / Open Source

Wherefore Art Thou, CentOS? Rocky Linux, CloudLinux and CentOS Stream

11 Dec 2020 1:42pm, by

Juliet called from the balcony, to lament upon Romeo’s name — the name that prevented the two from being together.

And with IBM/Red Hat’s decision to shift CentOS from a traditional to a rolling release, the Linux and business tech community is lamenting in a similar fashion. Why? It feels very much like a loss, like the companies behind CentOS are making it such that the communities that rely on the open source operating system can no longer have a relationship with their platform of choice.

Sounds a bit harsh.

Let’s back up a bit.

What Is CentOS … Really?

This is an important question to ask.

Originally CentOS was a build of CAOS Linux, a distribution created by Gregory Kurtzer. In June 2006, the primary developer of Tao Linux (a Red Hat Enterprise Linux clone) announced the retirement of the distribution and rolled his work into CentOS. At this point, CentOS had its first taste of being a true RHEL clone. Two years later, CentOS had overtaken Debian as the most popular Linux distribution for web servers.

And then came Red Hat. In 2014, Red Hat became the official sponsor or CentOS. All CentOS trademarks were transferred to Red Hat and everything smoothed out. CentOS development proliferated, which helped the distribution see widespread adoption among enterprise users.

Eventually, the development process looked something like this:

  • Red Hat Enterprise Linux was downstream from Fedora
  • CentOS was downstream of RHEL

What did that mean? Red Hat Enterprise Linux benefitted from the work put into Fedora and CentOS benefitted from the work put into RHEL.

Between the lines, CentOS effectively became a free (100% open source) version of Red Hat Enterprise Linux.

This model worked great, as it allowed users to get a taste of what RHEL offered, without having to pay the cost of entry. And to some, that was important, as a RHEL subscription isn’t always cost-effective for smaller businesses and nonprofits.

And then came IBM.

Full “Stream” Ahead

I could probably end this here, as everyone knows what happens when Big Business consumes open source companies (think Oracle).

Big Business is about one thing and one thing only — bottom line. And although this is pure conjecture, a fairly easy conclusion to draw would be that IBM saw CentOS as a means to a very lossy end. For many, CentOS was RHEL, without the added bonus of support or subscription cost. But the truth is, thanks to Google, there’s a world of support out there. So CentOS ate into IBM’s cash cow — RHEL.

Whatever the reason, IBM made a drastic move. Said move was to end the CentOS that many users know and love and replace it with the rolling release version, CentOS Stream.

What is a rolling release? Simple: A rolling release means all software is frequently updated. Instead of having yearly (or regular) major and minor iterations, a rolling release just keeps everything updated, always.

Anyone who’s worked with operating systems long enough can see a potential problem with that. Having the latest software (from kernel to user-space applications) can lead to instability problems. Software might not see extensive testing, so there could very well be vulnerabilities or stability issues.

On a desktop, that might be acceptable. On a server? No way.

And so the Linux and business communities reacted as expected — with a gasp and a cry of “foul!”

CentOS Stream is not meant as a viable replacement for the rock-solid CentOS. CentOS Stream is, at best, a testing ground for users to get a glance at what the latest release of RHEL might have to offer.

Or it could have been. However, that’s not what IBM has in store for CentOS Stream. Instead, the new upstream/downstream looks like that shown in Figure 1.

Figure 1: How CentOS Stream fits into the stream.

In other words, CentOS Stream and RHEL are both downstream of Fedora. What does that mean? It means that CentOS Stream will no longer receive the bits that Red Hat adds into RHEL.

CentOS Stream is simply a rolling release server distribution, based on Fedora. At this point, why not just use Fedora Server? It’s not a rolling release and already benefits from the work put into Fedora.

To this, the official line from Red Hat is:

CentOS Stream isn’t a replacement for CentOS Linux; rather, it’s a natural, inevitable next step intended to fulfill the project’s goal of furthering enterprise Linux innovation. Stream shortens the feedback loop between developers on all sides of the RHEL landscape, making it easier for all voices, be they large partners or individual contributors, to be heard as we craft future versions of RHEL.

To me, this crystalizes the idea that IBM/Red Hat potentially saw keeping CentOS endangered RHEL. That should stand as a testament as to how good CentOS was.

But, alas, it is no more.

Or is it?

New Forks Appear in the Stream

We’re not even a week into the announcement of CentOS Stream and two forks of CentOS have already been born. The original creator of CentOS (Kurtzer) announced Rocky Linux, which is to be a “community enterprise Operating System designed to be 100% bug-for-bug compatible with Enterprise Linux, now that CentOS has shifted direction.”

The second fork will be released by the creators of CloudLinux OS, who will develop a “free, open-sourced, community-driven, 1:1 binary compatible fork of RHEL 8 (and future releases) in the Q1 of 2021.”

So help is on the way.

How to Convert CentOS 8 to CentOS Stream

Okay, so you probably have a few CentOS 8 machines either in production or just sitting around. At some point, that distribution will be deprecated and will no longer receive updates. If you’d like to be one step ahead of that process, you can convert the CentOS 8 platform over to CentOS Stream with a few quick commands. Here’s how:

  1. Log into your CentOS 8 machine.
  2. Install the necessary repositories with the command sudo dnf install centos-release-stream.
  3. Make the new Stream repositories the default with the command sudo dnf swap centos-{linux,stream}-repos.
  4. Sync the installed packages with the available packages using the command sudo dnf distro-sync.

When the above process completes, your CentOS platform should now be CentOS Stream. You can check it by issuing the command cat /etc/centos-release. The output of the command will show CentOS Stream release 8.

And that’s all there is to it.

For better or worse, CentOS is no more. Chances are pretty good your business will be looking for a replacement for CentOS. If you’re wanting a server distribution without an associated cost, I suggest you try Ubuntu Server, Debian, Fedora Server, or openSUSE. If you don’t mind the cost of an enterprise-ready operating system, make sure to look into SUSE and Red Hat Enterprise Linux.

A newsletter digest of the week’s most important stories & analyses.