Super sale on 4th Gen EPYC servers with 10 Gbps ⭐ from €259/month or €0.36/hour
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

27.10.2025

Checklist: 5 Signs It's Time for Your Business to Upgrade from VPS to a Dedicated Server

Do you still rely on cloud services despite paying for them? If your budget is at least €50 per year, a dedicated server could be more cost-effective. Please review the checklist and the comparative tests between cloud and bare-metal solutions.

29.09.2025

What to Do If Your Laptop Breaks Down? How Kasm Turns Even an Old Tablet into a Workstation

When technical issues disrupt work, Kasm Workspaces becomes a lifesaver, turning outdated devices into powerful workstations through a browser. The article discusses how the platform addresses issues with broken laptops and equipment shortages, compares different versions (Community, Starter, Enterprise, Cloud), examines resource requirements, and reviews test results on VPS.

24.09.2025

Replacing Google Meet and Microsoft Teams: Jitsi Meet and Other Alternatives for Business

If you’re in the market for a replacement for Google Meet—just like we were—we’ve got options for you: Zoom, NextCloud, or self-hosted solutions. After thorough testing, we decided on Jitsi Meet on a VPS and have put it to use in real-world scenarios. We’d love to share our insights and any potential pitfalls you should be aware of.

23.09.2025

Monitoring SSL Certificates in oVirt Engine: How We Achieved Peace of Mind with the Help of Go and Prometheus

Looking to prevent system downtime caused by expired SSL certificates? At Hostkey, we’ve developed a user-friendly yet reliable tool built on Go that seamlessly integrates with Prometheus and Grafana. Our system promptly notifies you of potential issues before they become critical.

05.09.2025

Is a Cheap VPS Enough? A Performance Comparison of VPS Plans

Is it worth saving on a VPS or should you opt for a plan with a buffer? We tested three budget HOSTKEY configurations and clearly show which tasks the minimal plan can handle and where it's wiser to invest in a more powerful server.

Upload