AMD EPYC 9354 Servers —from €299/month or €0.42/hour ⭐ 32 cores 3.25GHz / 768GB RAM / 2x3.84TB NVMe / 10Gbps 100TB
EN
Currency:
EUR – €
Choose a currency
  • Euro EUR – €
  • United States dollar USD – $
VAT:
OT 0%
Choose your country (VAT)
  • OT All others 0%

09.05.2022

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).

HOSTKEY

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:


Error

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:

AlmaLinux:

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-*

RockyLinux:

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

AlmaLinux:

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

RockyLinux:

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

Step 5. Give the script execute permission

AlmaLinux:

chmod +x almalinux-deploy.sh

RockyLinux:

chmod +x migrate2rocky.sh

Step 6. Run the package download and installation script

AlmaLinux:

sudo bash almalinux-deploy.sh

RockyLinux:

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:


OK

Step 7. Complete the installation and reboot the computer

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

AlmaLinux:


RockyLinux:


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.

AlmaLinux:


New distribution

RockyLinux:


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-33.16.5.6-1.el8.x86_64 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.

Conclusions

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

23.07.2026

WordPress SEO Plugins Compared: Yoast SEO vs Rank Math vs AIOSEO in 2026

Which WordPress SEO plugin should you choose in 2026? Summary feature tables, an AI tool breakdown, performance tests, pricing, migration, and selection recommendations.

23.07.2026

Abandoned Repositories on GitHub: Which Languages Are Losing Developers, and When Code Stops Getting Updated

GitHub is slowly turning into a graveyard of old code. We compared thousands of repositories to see which languages are losing activity fastest — and where the ecosystem is still growing.

18.07.2026

Which Should You Choose for Your Server: EPYC or Ryzen?

While Ryzen excels in single-threaded tasks, EPYC dominates in multi-threaded workloads, memory throughput, and enterprise-grade server features. We break down the results of 25 tests to determine when the premium for EPYC truly pays off.

17.07.2026

What Are AI Agents: Creation, Examples, and Capabilities in 2026

AI agents are generating massive hype, but few explain why, without strict guardrails, they can burn through an entire budget overnight. We dive into agent architecture, the MCP standard, and the state-of-the-art frameworks of 2026. Get hands-on with production-ready code and a candid look at the hidden costs and risks that marketing presentations tend to overlook.

12.07.2026

The Small robots.txt File and the Big Consequences of a Single Line

Understanding how robots.txt works, why it’s often mistaken for an indexing tool, and its evolving role in the era of AI scrapers.

Upload