How to Upgrade AlmaLinux 9 to AlmaLinux 10 Using ELevate

If you want to upgrade AlmaLinux 9 to AlmaLinux 10, ELevate provides an upgrade path using the Leapp framework. It checks your system for compatibility issues, identifies upgrade blockers, prepares the required AlmaLinux 10 packages, and completes the major version upgrade during reboot.

This guide covers the complete upgrade process, including backups, pre upgrade checks, the upgrade itself and post-upgrade verification.

Prerequisites

Before starting, make sure you have:

  • Root access or a sudo-enabled user
  • A fully updated AlmaLinux 9.8 system
  • Enough free disk space for downloaded upgrade packages
  • Console or recovery access to the server
  • A recent backup or snapshot

For production servers, it is a good idea to test the upgrade on a clone or staging system first.

Check Third-Party Repositories

List the enabled repositories:

sudo dnf repolist --enabled

ELevate supports several common third-party repositories, including EPEL, Docker CE, MariaDB, nginx, PostgreSQL, Imunify, KernelCare, and TuxCare.

Other third-party repositories may cause Leapp inhibitors or package conflicts. Review any custom repositories before continuing.

Back Up the Server

Do not perform a major operating system upgrade without a recovery option.

If your hosting platform supports snapshots, create one before proceeding. If you’re using a VPS from Veeble, you can create a snapshot directly from the client area.

For database servers, create proper database backups instead of relying only on filesystem copies.

Also confirm that you can access the server through its VPS or server console. SSH may temporarily become unavailable during the upgrade and reboot.

Check the Current AlmaLinux Version

Check the installed release:

cat /etc/os-release

Before continuing with the current stable upgrade path, the system should be on AlmaLinux 9.8.

Check the architecture:

uname -m

Most VPS and dedicated servers will return:

x86_64

Update AlmaLinux 9

The source system must be fully updated before running ELevate.

Run:

sudo yum update -y

After the updates finish, reboot the server:

sudo reboot

Reconnect after the server comes back online and confirm the version again:

cat /etc/redhat-release

You should see AlmaLinux 9.8.

It is also useful to check for package problems before continuing:

sudo dnf check

Resolve any reported dependency problems first.

Install the ELevate Repository

Install the official ELevate release package:

sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm

After installation, confirm that the ELevate repository is available:

sudo dnf repolist | grep -i elevate

Install Leapp and AlmaLinux Upgrade Data

Install the Leapp upgrade packages and the AlmaLinux migration data:

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

The leapp-data-almalinux package contains the migration rules required when AlmaLinux 10 is the target operating system.

You can confirm the packages are installed with:

rpm -qa | grep -E 'leapp|elevate'

Run the Pre-Upgrade Check

Before making changes to the operating system, Leapp performs an assessment of the server.

Run:

sudo leapp preupgrade

The pre-upgrade stage does not perform the actual operating system upgrade.

Leapp analyzes installed packages, repositories, hardware, configuration files, kernel components, and other settings that may affect the migration.

The report will be written to:

/var/log/leapp/leapp-report.txt

Read it with:

sudo less /var/log/leapp/leapp-report.txt

Do not continue directly to leapp upgrade without reviewing this report.

Fix Leapp Inhibitors

Leapp separates findings by severity. The most important entries are inhibitors.

An inhibitor means Leapp has found a condition that prevents the upgrade from continuing safely.

Search the report for inhibitors:

grep -i inhibitor /var/log/leapp/leapp-report.txt

You can also inspect the complete report:

sudo less /var/log/leapp/leapp-report.txt

Read the recommended remediation for every inhibitor and correct the problem it identifies.

Check the Leapp Answer File

Some systems require explicit answers before the upgrade can continue.

Check whether Leapp created:

/var/log/leapp/answerfile

View it with:

sudo cat /var/log/leapp/answerfile

If the report tells you to provide an answer, use the exact section and field shown by Leapp.

The general format is:

sudo leapp answer --section <section>.<field>=True

Do not copy an answer intended for another server or another AlmaLinux version. Use the values requested by your own Leapp report.

Run the Check Again

After resolving the reported issues, run:

sudo leapp preupgrade

Review the report again.

Repeat this process until no upgrade-blocking inhibitors remain.

Start the AlmaLinux 10 Upgrade

Once the pre-upgrade check is clean enough to continue, start the upgrade:

sudo leapp upgrade

Leapp will download the required AlmaLinux 10 packages and prepare a special upgrade environment.

This process can take some time depending on the number of installed packages and the network speed.

Once it completes successfully, reboot:

sudo reboot

Reboot and Complete the Upgrade

During the next boot, ELevate creates a GRUB entry called:

ELevate-Upgrade-Initramfs

The system normally boots into this entry automatically.

The actual package replacement and operating system migration take place during this boot process. The server may restart or remain unavailable for longer than a normal reboot.

Do not power off the machine while this process is running.

For a remote VPS or dedicated server, use the provider’s VNC console if you want to monitor the upgrade.

After the process finishes, the system should boot into AlmaLinux 10.

Verify AlmaLinux 10

Log in to the server and check the operating system:

cat /etc/os-release

A successful current upgrade should show AlmaLinux 10.2.

Check the running kernel:

uname -r

Check for failed services:

sudo systemctl --failed

Finally, verify package dependencies:

sudo dnf check

For servers running services such as nginx, Apache, MariaDB, PostgreSQL, Docker, or a hosting control panel, verify each important service individually.

For example:

sudo systemctl status nginx

Replace nginx with the service you want to check.

Conclusion

ELevate makes it possible to upgrade from AlmaLinux 9 to AlmaLinux 10 without a full reinstall, but the success of the upgrade mostly depends on preparation. Make sure the system is fully updated, backups are available, Leapp inhibitors are resolved, and you have console access before starting. After the reboot, check the OS version, services, repositories, packages, and Leapp logs before putting the server back into regular use.

Scroll to Top