ClickCease How to Upgrade from Centos 8 to AlmaLinux 9

Content Table

Join Our Popular Newsletter

Join 4,500+ Linux & Open Source Professionals!

2x a month. No spam.

How to Upgrade from Centos 8 to AlmaLinux 9

May 25, 2023 - TuxCare PR Team

In May 2022, the AlmaLinux Foundation launched AlmaLinux 9. At first, there wasn’t a straightforward method for upgrading from AlmaLinux 8 to AlmaLinux 9, so you needed to do a clean installation. That meant you couldn’t migrate from CentOS 8 to AlmaLinux 9 either. 

Thankfully, AlmaLinux updated the ELevate program earlier this year to include AlmaLinux 9. However, you need to handle any upgrade as a two-step process. Upgrade from CentOS 8 to AlmaLinux 8 first, followed by upgrading from AlmaLinux 8 to AlmaLinux 9.

So, let’s dive into the steps you’ll need to take when migrating from CentOS 8 to AlmaLinux 9 and why this might be the best distribution journey for your organization.


Why Switch from CentOS 8 to AlmaLinux 9?


CentOS 8 reached end of life on December 31, 2021, so anyone still using it is running an OS with no official support. No new patches are being released for CentOS 8, so if hackers try to get into your system using a vulnerability discovered in 2022 and 2023, they will find it easy to do.

You can’t really downgrade to CentOS 7, and even if you managed to do so you’d only get about a year’s extra support. Yes, you could opt for a one-stage process and simply switch to AlmaLinux 8. But even if you don’t need the new features, it’s still worth thinking about what ongoing support will look like for AlmaLinux 8 in the coming years.

So yes, with AlmaLinux 8 there is security support until March 2029, but active support ends May 2024. AlmaLinux 9 will enjoy active support until May 2027 and security support until 2032. It’s a long time to think ahead, but it’s worth considering because, after all, you’re currently using CentOS 8 beyond its lifespan.


Stage One: CentOS 8 to AlmaLinux 8 


Your first step is to convert your CentOS 8 system into an AlmaLinux 8 system using a conversion script. To start, check which version of CentOS 8 you’re running:

cat /etc/redhat-release

If the reported OS version is lower than 8.5, you need to change the paths to repositories: 

sed -i -r 's|^(mirrorlist.+)$|#\1|g; s|^#baseurl=\$co

Then, apply pending updates to your CentOS 8 instance, followed by a reboot:

sudo yum update -y

sudo reboot


Next, install the migration script

curl -0


Then, run the migration script:

sudo bash

This will take some time. You should see a confirmation screen with the following text:

Migration to AlmaLinux is completed

You might find that the script fails. The script run may fail with an error like: 

Verify almalinux-release-latest.rpm package                           ERROR
    /root/.alma.X46iDx/almalinux-release-latest.rpm: digests SIGNATURES NOT OK

If that’s the case, you should first import the GPG key of the AlmaLinux repository and then run the script again:

sudo rpm --import && sudo bash

Your next step is to check that the conversion succeeded. 

cat /etc/redhat-release


You should see:


AlmaLinux release 8.7 (Stone Smilodon)

Now, reboot:

sudo reboot


Stage Two: AlmaLinux 8 to AlmaLinux 9


Now that you’ve switched from CentOS 8 to AlmaLinux 8, you need to upgrade to the latest version of AlmaLinux, which you’ll do through ELevate. 

Start by downloading the elevate-testing repo:

sudo curl -o /etc/yum.repos.d/elevate-testing.repo


Next, import the ELevate GPG key:

sudo rpm --import

Then, install the Leapp packages that enable you to upgrade from AlmaLinux 8 to AlmaLinux 9:

$ sudo yum install -y leapp-upgrade leapp-data-almalinux


You should see confirmation that the packages were installed. Next, as with the previous stage, you need to first run a pre-upgrade check using the following command:

sudo leapp preupgrade

As before, you can view the results in


Common problems you’ll find are around SELinux and Firewalld Configuration AllowZoneDrifting.


You can fix these issue as follows:

To disable SELinux:

$ sudo vim /etc/sysconfig/selinux

##Change selinux mode to Disabled.


You then need to reboot:

sudo reboot


You may also need to set AllowZoneDrifting to no

$ sudo vim /etc/firewalld/firewalld.conf



Another blocker is that you need to be running the latest installed kernel version, so ensure that is the case and reboot into the latest version if you’re not yet doing that.

It’s worth re-running the pre-upgrade command to check that you’re good to go.

from Centos 8 to AlmaLinux 9
Article Name
from Centos 8 to AlmaLinux 9
Let’s dive into the steps you’ll need to take when migrating from CentOS 8 to AlmaLinux 9 and why this might be the best distribution
Publisher Name
Publisher Logo

Looking to automate vulnerability patching without kernel reboots, system downtime, or scheduled maintenance windows?

Learn About Live Patching with TuxCare

Become a TuxCare Guest Writer

Get started




Linux & Open Source

Subscribe to
our newsletter