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

08.05.2022

What is the best GPU for deep learning?

Learn how to use a GPU for the deep learning process in machine learning.

03.05.2022

What is the best Cloud GPU?

Read about how to use a Cloud GPU to bring high-load computing to the cloud. Pay attention to this guide, which will discuss GPUs in the cloud and dedicated servers. Choose the best option.

24.04.2022

Implementing a simple HTML5 server control panel with an IPMI

For remote access to physical servers, hosting clients use software tools that work only with an operating system and special software. We will tell you how it works with us at HOSTKEY.

24.04.2022

Linux LiveCD based on CentOS and techniques for using it in a PXE boot via Foreman

We are going to tell you how we created our own LiveCD based on CentOS.

10.04.2022

Multi-threaded video encoding on a professional GPU

A waste of resources or an opportunity for non-Intel servers?

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
Upload