10 simple steps: migrating from CentOS 8 to RockyLinux or AlmaLinux

server one

The end of support for CentOS 8 and the transition to a model of continuous updates in CentOS Stream has forced corporate customers to look for alternative solutions. Here is a step-by-step guide on how to switch to RockyLinux or AlmaLinux - popular free distributions that are binary compatible with RedHat Enterprise Linux (RHEL).


Systems with a short life cycle or rolling release model are not suitable for a developed corporate infrastructure: too many things can go wrong with them after the next update. In addition to CentOS, there are other Linux distributions with long-term support (for example, Ubuntu Server LTS), but migration to them will require a lot of work. If you have a lot of physical and virtual machines, it is better to choose a binary compatible solution with RHEL to make the migration to CentOS 8 easy and painless.

We settled on the free server distributions AlmaLinux and RockyLinux: one by CloudLinux and the other developed by CentOS creator Gregory Kurzer together with a community of developers. They are planned to be maintained for 10 years, which is the entire development cycle of the original RHEL 8.

Full binary compatibility means that applications installed on CentOS 8 or RHEL 8 will continue to work on AlmaLinux and RockyLinux without changes - this is a great alternative if you do not wish to pay for RedHat support, which, as we recall, includes receiving binary updates (distributed for free source code only). Below is the migration option used at HOSTKEY.

Rent dedicated and virtual servers with instant deployment in reliable TIER III class data centers in the Netherlands and the USA. Free protection against DDoS attacks included, and your server will be ready for work in as little as 15 minutes. 24/7 Customer Support.

Step 1. Make a backup copy

Before you start your migration, it is better to make a backup of the entire server or at least the important directories. In well-established infrastructures this process is automated (there are working procedures for Backup & Deploy), but during migration to another distribution it is worth taking the utmost care.

Step 2. Check for version compliance

Before running the migration script, you should check the version of CentOS, which must be at least 8.3. Otherwise, you will have to specify the addresses of the mirrors with the update packages and run the command dnf update -y (CentOS images can be downloaded from the link). The system will update to CentOS Linux release 8.5.2111.

If you do not follow this step, an error will occur:


Step 3. Add mirrors if your system is younger than CentOS 8.3

If you haven't updated the OS in a while, you need to add archive mirrors for CentOS 8 using the following commands:


sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*


sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

Step 4. Download the migration script


cd /tmp
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh


cd /tmp
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh

Step 5. Give the script execute permission


chmod +x almalinux-deploy.sh


chmod +x migrate2rocky.sh

Step 6. Run the package download and installation script


sudo bash almalinux-deploy.sh


sudo bash migrate2rocky.sh -r

Below is an example of a pre-migration check. There are no problems with package dependencies and operating system version:


Step 7. Complete the installation and reboot the computer

If the installation is successful, the following message will appear:



After the installation is complete, you should reboot the system with the reboot command. If the migration is successful, the new distribution will be listed during the system boot and kernel selection phase.


New distribution


New distribution

Step 8. Check for errors

After rebooting the system, you should check for errors and check the name and version of the system.

cat /etc/redhat-release #let you check the migration to AlmaLinux and RockyLinux
dmesg #hardware error check
journalctl #system errors

Step 9. Check that the services are working

After the migration is complete, it is worth checking that all configured services and installed application software work correctly. Usually there are no failures, but better safe than sorry.

Step 10. Additional actions for RockyLinux

If you are migrating a system with a graphical interface, there may be problems when migrating from CentOS to Rocky Linux (the Alma script is more reliable). During the scripting process, there may be problems installing packages, and old CentOS packages will be corrupted.

You need to check the system version with the commands below:

cat /etc/os-release
cat /etc/redhat-release

If an error occurs, you will have this message:

Unable to detect release version (use '--releasever' to specify release version

You will get a similar message when you try to execute these commands:

dnf makecache & dnf update

The problem can be solved by partially rolling back the CentOS system and installing packages from the vault archive mirror. It is necessary to download the packages of the installed version of your distribution (see Step 2). In our case, CentOS version 8.5.2111 was used.

Perform the following sequence of commands:

cd /tmp
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.5-1.2111.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
rpm -ivh ./centos-gpg-keys-8-3.el8.noarch.rpm  --force
rpm -ivh ./centos-linux-release-8.5-1.2111.el8.noarch.rpm ./centos-linux-repos-8-3.el8.noarch.rpm --force

Before running the migration script, pre-install all dependencies. We received a list of 6 problematic packages:

Error: Check discovered 6 problem(s)
anaconda-gui- has missing requires of system-logos
firefox-91.4.0-1.el8_5.x86_64 has missing requires of redhat-indexhtml
gdm-1:40.0-15.el8.x86_64 has missing requires of system-logos
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-backgrounds
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-logos
plymouth-graphics-libs-0.9.4-10.20200615git1e36e30.el8.x86_64 has missing requires of system-logos

We had to install three packages:

yum install system-logos
yum install system-backgrounds
yum install redhat-indexhtml

After performing the above actions to eliminate dependency problems, you must repeat the procedure starting from Step 6.


The process of migrating from CentOS 8 to AlmaLinux is not time consuming and provides a stable OS without any infrastructure changes. Migrating to RockyLinux may present easily solvable problems. Both clone distributions are based on the freely distributed RHEL 8 source code, and all the difference between them comes down to support. The presence of a corporate AlmaLinux developer might make some parts of the community wary, despite assurances by CloudLinux representatives that the project is independent.

Rent dedicated and virtual servers with instant deployment in reliable TIER III class data centers in the Netherlands and the USA. Free protection against DDoS attacks included, and your server will be ready for work in as little as 15 minutes. 24/7 Customer Support.

Other articles


Is DAPC really more effective than BIOS default performance?

One way to improve performance is to tweak the BIOS settings. We answer the question of whether DAPC is really more cost-effective than BIOS default performance.


Quick WireGuard VPN Setup

Easily set up your own WireGuard VPN server on computers and smartphones, enhancing privacy and security in just minutes!


Equipment supply and support in EU data centers

HOSTKEY has developed a range of services for the placement and maintenance of customer equipment in Dutch data centers.



How to set up Proxmox replication quickly and easily and what you should consider during the deployment process.


Creating a Single sign-on service with reminders for users

How to make a simple and reliable password change system and help users remember to change their password timely.

HOSTKEY Dedicated servers and cloud solutions Pre-configured and custom dedicated servers. AMD, Intel, GPU cards, Free DDoS protection amd 1Gbps unmetered port 30
4.3 67 67