The CentOS dilemma and ways out

By announcing that CentOS in it’s actual form will be discontinued Rehat has upset a lot of enterprise Linux users.
The new version of CentOS will be used as a development platform for RHEL, and will be not usable in enterprise environments for companies any more. CentOS as binary compatible to Redhat Enterprise Server will end at the end of 2021.
It’s really time now for companies to think about new ways.
There are various.

Move to RHEL

This is one possibility, but i doubt that a lot of CentOS users will do that.
There have been reason why they use CentOS: no costs!
And by moving to RHEL this will be gone.

Move to Fedora

Again, Fedora is no replacement for a enterprise Linux distribution, so this is in the most company environments no option.

Move to other distributions

This is a possibility that some users will choose. A lot of the users are angry with Redhat for killing CentOS, and that might be a reason to say good bye to Redhat at all. There are other distributions out there that do also a fantastic work.

What are the distributions that users and companies might move to?

Move to Ubuntu

Ubuntu is an Enterprise grade distribution that offers also commercial support.
With their parent Debian they have a wide variety of software in their repos.
But it’s not based on the RPM software management system that you know from CentOS.
Administrator will have here the most to learn to adapt to their new workhorse.

Move to SUSE

SUSE is world wide the second most used enterprise distribution. It’s the first choice for SAP anyway. So it has proven his enterprise grade already in long years.
Besides it’s from the internal structure not so far away from Redhat like Ubuntu.
Administrators that are used to Redhat/CentOS will find the move to SUSE easy.
They have a lot of similarities, like for example RPM package management system and systemd runlevel manager.
When SUSE is a choice you can have both: an enterprise OS with full support from SUSE, or an free enterprise OS without support with Opensuse Leap.
And the most unknown fact: they share both the same codebase!
So Opensuse Leap is the CentOS of SUSE!
That’s why you can easily upgrade from Opensuse Leap to SLES.
SUSE started this rebuild from Opensuse Leap 2 years ago and finished it last year.
Noteworthy that they did exact the opposite from Redhat.

You can also have a SUSE extended support contract and they offer you a way to go on with your CentOS installations, they will provide the necessary updates.

Helping tools to move to another distribution

You can use the tool “machinery” to inspect the existing CentOS source host and to verify the transition

https://machinery-project.org/docs/

Move to a CentOS direct replacement

Moving to a direct replacement has the advantage that there is not much work with transition, the direct replacement distributions should be totally compatible with CentOS.
Two direct replacements for CentOS have been announced:

  • Rocky Linux
  • AlmaLinux

AlmaLinux has already released his distribution, while Rocky Linux said they will release in Q2 this year.
So lets have a look at AlmaLinux:

AlmaLinux

AlmaLinux promises a ” forever free Redhat clone”, and that might work.
Behind AlmaLinux is the company CloudLinux, and they founded a non-profit-organisation with $1 million dollars annual endowment that will be maintaining AlmaLinux.
AlmaLinux is already available in AWS and Azure, Google Cloud will very soon follow.

And they offer an astonishing easy way to move from CentOS to AlmaLinux.
Just to steps: Upgrade CentOS 8.3 to the latest patch state and start the upgrade script!
I will show that here now.
I tried this procedure on a CentOS 2 node cluster with pacemaker, no problems occured: stop the cluster service on node1, convert it to AlmaLinux, then reboot and start the cluster service again.
Then repeat the procedure with node2. Quite easy!
One disappointing thing is that additional enabled Repos like High Availability are not enabled after the transition.
Make sure you noted all enabled repos before you do the transition:

dnf repolist –all

Here is the convert procedure:

[root@test1 ~]# dnf update
Last metadata expiration check: 1:25:26 ago on Wednesday, 31 March, 2021 03:37:37 AM EDT.
Dependencies resolved.
Nothing to do.
Complete!

[root@test1 ~]# cat /etc/centos-release
CentOS Linux release 8.3.2011

[root@test1 ~]# cat /etc/os-release  
NAME=”CentOS Linux”
VERSION=”8″
ID=”centos”
ID_LIKE=”rhel fedora”
VERSION_ID=”8″
PLATFORM_ID=”platform:el8″
PRETTY_NAME=”CentOS Linux 8″
ANSI_COLOR=”0;31″
CPE_NAME=”cpe:/o:centos:centos:8″
HOME_URL=”https://centos.org/”
BUG_REPORT_URL=”https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=”CentOS-8″
CENTOS_MANTISBT_PROJECT_VERSION=”8″

[root@test1 ~]# curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

[root@test1 ~]# chmod u+x almalinux-deploy.sh

[root@test1 ~]# ./almalinux-deploy.sh

This will convert your installation: do some checks, change system parameters like OS-release and so on, change the repositories to AlmaLinux repositories and reinstall the installed RPM’s from the new repositories.
External repositories like EPEL will still work after the transition.
Now enable the missing repos:

dnf repolist –all

Compare that with your output from your old CentOS system and enable the missing repos, e.g. High Availability

dnf config-manager –set-enabled ha

and update again:

dnf update

Now every rpm package from CentOS should have been replaced by packages from AlmaLinux.


To start the system with the kernel rpm version from AlmaLinux reboot the system.
After the reboot the system looks like that:

[root@test1 ~]# cat /etc/os-release     
NAME=”AlmaLinux”
VERSION=”8.3 (Purple Manul)”
ID=”almalinux”
ID_LIKE=”rhel centos fedora”
VERSION_ID=”8.3″
PLATFORM_ID=”platform:el8″
PRETTY_NAME=”AlmaLinux 8.3 (Purple Manul)”
ANSI_COLOR=”0;34″
CPE_NAME=”cpe:/o:almalinux:almalinux:8.3:GA”
HOME_URL=”https://almalinux.org/”
BUG_REPORT_URL=”https://bugs.almalinux.org/”

[root@test1 ~]# cat /etc/centos-release
AlmaLinux release 8.3 (Purple Manul)

And that’s all.

Final words

Yes there are ways out of the CentOS dilemma, some very easy, some require more effort. Each way has it’s own advantages and disadvantages.
Anyway something must be done.
Finally it’s also a political decision, other parameters must be also considered:

  • Which other distributions are already used in the company
  • Knowledge for other distributions must be build up eventually
  • Trust in a new distribution like AlmaLinux for your enterprise environment
  • Expenditures to migrate maybe thousands of systems
  • Possibility to consolidate your systems
  • Subscription costs
  • Established toolchains in your company