How To Migrate CentOS 7 To AlmaLinux 8

As CentOS 7 is getting out of suport in 2024 and CentOS 8 out of support in 2021, plus no CentOS 9 comming, we propose this guide to update from CentOS 7 to AlmaLinux 8

What is AlmaLinux ? AlmaLinux is now much similar to what CentOS used to be as this is a stable and reliable OS that is 1:1 binary compatible with RHEL. Meaning, it is similar to the current stable releases of RHEL. AlmaLinux is not only a solid replacement for CentOS but also a great alternative to RHEL.

And what is ELevate you wander ? ELevate is an open source migration tool developed by AlmaLinux team. It allows you to easily and smoothly migrate between major versions of RHEL-based distributions, like from 7.x to 8.x version.

This guide explains how to migrate CentOS 7 to AlmaLinux 8 using AlmaLinux ELvate tool.

Before you start:

  • this update is experimental and not official so backup your data and settings.
  • try this update first on a sandbox or a clone of the server that you want to update, to tryout not only the correct update process but also the compatibility of your current installed apps and services with RHEL distro 8.X .
  • also please keep in mind when you are doing the update on a live enviroment that the running services will need to be updatet, the server will restart and cron jobs might not work properly.

All of that beeing said let’s start:

As allways make sure your OS is up-to-date

Make sure you’re running the latest CentOS 7.x branch. If not, update your CentOS system using command:

$ sudo yum update
$ sudo yum upgrade

Reboot your system to apply the changes:

$ sudo reboot

Check the currently installed CentOS 7 version using command:

$ cat /etc/centos-release
$ cat /etc/os-release 

Migrate CentOS 7 To AlmaLinux 8

$ sudo yum install

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

$ sudo leapp preupgrade

At the end of the preupgrade check, the Leapp utility will generate a report in /var/log/leapp/leapp-report.txt file. This file contains possible problems and recommended solutions. No rpm packages will be installed at this phase.


Preupgrade check will fail if the default CentOS 7 doesn’t meet all requirements for migration. In that case, you need to fix all the problems and try again.

The following fixes from the /var/log/leapp/leapp-report.txt file are mandatory, but you can also review the rest of them if needed.

Bellow are the steps on how to fix the most common issues:

$ sudo rmmod pata_acpi
$ echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
$ sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True

Removing the extra kernel devels helps.

List the installed kernels in CentOS:

$ rpm -qa kernel

Remove the old kernel and kernel-devels and keep only the currently active Kernel using command:

$ sudo package-cleanup –oldkernels –count=1

Once you fixed all the problems, run the following command to migrate CentOS 7 to any AlmaLinux 8:

$ sudo leapp upgrade

Once the upgrade is completed, reboot your system:

$ sudo reboot

A new entry called ELevate-Upgrade-Initramfs in the GRUB menu will appear. The system will be automatically booted into it. You can view the how the update process goes in the console.

System will automatically reboot once the upgrade is completed. The GRUB menu entries will be automatically updated depending upon the OS.

Login to the system and verify that the current OS is the one you need.

$ cat /etc/os-release

Sample output:

VERSION="8.x ("some codename")"
ID_LIKE="rhel centos fedora"

Great! We’ve successfully upgraded CentOS 7 to AlmaLinux 8.x version.

It is recommanded to do a cache clean, to free up space upfter the update

$ sudo dnf clean packages

Do one final manual reboot and you are done !


If you want to test AlmaLinux out of the box virtualy you can get from an KVM Linux VPS and run AlmaLinux 8 in minutes for just 8.99 Euro.