Linux Tutorial AlmaLinux System Administration

How to Update AlmaLinux 9 to AlmaLinux 10: Complete Guide Using ELevate

Learn how to prepare an AlmaLinux 9 server, run the ELevate pre-upgrade assessment, and perform a supported in-place migration to AlmaLinux 10 using Leapp.

Moving an enterprise Linux server to a new major release is a significant maintenance task. Unlike a routine package update, a major-version upgrade can change system libraries, kernel components, repositories, drivers, and application dependencies. Careful preparation is essential to protect workloads and avoid an extended outage.

AlmaLinux ELevate provides a documented framework for supported in-place migrations across major versions of Enterprise Linux distributions. It uses the Leapp utility to inspect the source server, identify compatibility problems, and orchestrate the migration when the system meets the required conditions.

In this VMoreCloud tutorial, you will prepare an AlmaLinux 9 server, install the appropriate ELevate components, evaluate the system with Leapp, perform the migration, and validate the AlmaLinux 10 installation. Always compare the steps with the live ELevate documentation before running them because supported architectures and package instructions can change.

1. What Is ELevate?

ELevate is an AlmaLinux community project designed to support in-place upgrades between major versions of RHEL-compatible distributions. It combines the Leapp utility with migration metadata and project-specific changes to evaluate the source system and carry out the transition.

The AlmaLinux documentation lists AlmaLinux 9 to AlmaLinux 10 as an available migration path. It also notes that some architecture variants have special requirements: the current documentation identifies x86_64_v2 upgrades to AlmaLinux 10 as requiring ELevate NG. Raspberry Pi images are not supported by ELevate. Check the support matrix for your exact architecture and source/target release before proceeding.

Official reference: About the ELevate project.

2. Prerequisites and Preparation

Prepare the server before making package or repository changes. At minimum, confirm the following:

Pre-upgrade checklist

  • Confirm the machine is AlmaLinux 9 and identify its architecture.
  • Verify the AlmaLinux 9 to AlmaLinux 10 path is supported by the current ELevate guide.
  • Have root or sudo access and working console/out-of-band access.
  • Take a full backup or recoverable snapshot and test the restore procedure.
  • Check available disk space, especially on /, /boot, and filesystems used by package and upgrade data.
  • Inventory databases, applications, services, scheduled tasks, firewall rules, storage mounts, and network configuration.
  • Check third-party repositories, vendor agents, external kernel modules, and application compatibility.
  • Schedule a maintenance window and notify users.

The ELevate project explicitly recommends backups or snapshots and a trial run in a sandbox before upgrading production systems. Read the current ELevate Quickstart Guide for current requirements and warnings.

3. Back Up and Inspect the Server

Log in to the AlmaLinux 9 server and confirm the installed release, kernel, disk layout, and enabled repositories:

cat /etc/almalinux-release
cat /etc/os-release
uname -r
df -h
lsblk
sudo dnf repolist --enabled

Save a package inventory and loaded kernel-module list for later comparison:

rpm -qa | sort | sudo tee /root/packages-before-upgrade.txt
lsmod | sudo tee /root/modules-before-upgrade.txt

Make sure the backup includes application data and configuration, not only the operating system disk. For databases and other stateful services, use application-consistent backup procedures.

4. Update AlmaLinux 9

The ELevate Quickstart Guide requires the source system to be fully updated before the migration. Refresh package metadata, install available updates, and reboot:

sudo dnf clean all
sudo dnf upgrade -y
sudo reboot

After reconnecting, check the release and package manager state:

cat /etc/almalinux-release
sudo dnf check
sudo dnf repolist --enabled

Resolve repository failures, unfinished transactions, or dependency problems before continuing. Do not assume third-party repositories are automatically compatible with AlmaLinux 10.

5. Install ELevate and Leapp

For the standard documented AlmaLinux 9 to AlmaLinux 10 workflow, the ELevate Quickstart Guide instructs administrators to install the ELevate repository release package and the Leapp upgrade data for AlmaLinux.

sudo dnf install -y https://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm
sudo dnf install -y leapp-upgrade leapp-data-almalinux

These are the commands shown in the project’s quickstart-style instructions. If you are using an architecture or scenario that requires ELevate NG, follow the separate NG guide instead; do not mix stable and NG repository packages. The project specifically documents ELevate NG for certain x86_64_v2 AlmaLinux 10 upgrade paths.

Important: Check the current ELevate page for any changed package names or repository instructions. If this server previously used ELevate NG or has custom repository priorities, follow the relevant official migration instructions rather than blindly applying the standard commands.

Official guide: ELevate Quickstart Guide.

6. Run the Pre-Upgrade Assessment

Start the assessment:

sudo leapp preupgrade

Leapp creates a report containing possible problems and recommended solutions. Review the report and answerfile:

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

The assessment can identify inhibitors, unsupported packages or drivers, repository issues, and questions that require an administrator response. The official quickstart warns that the pre-upgrade check may report issues on a default installation; the report must be read and its findings addressed.

Do not skip inhibitors. Resolve every inhibitor and understand warnings before continuing. If the answerfile contains unanswered questions, use the Leapp answer procedure specified by the report and official guide. Do not copy generic fixes from another server without understanding their impact.

Run the assessment again after making changes:

sudo leapp preupgrade

Continue only when the report no longer contains unresolved inhibitors and all required administrator responses have been provided.

7. Start the AlmaLinux 10 Upgrade

Once the pre-upgrade assessment is acceptable, start the migration:

sudo leapp upgrade

Leapp prepares the target environment and downloads the packages required for the migration. Review the command output and logs for errors. Do not interrupt the process or shut down the server while the upgrade is running.

When the command completes and instructs you to reboot, restart the server:

sudo reboot

The system should boot into the upgrade environment and complete the migration. The first boot may take longer than usual. Monitor the process using the server console or out-of-band management interface, especially when upgrading a remote server.

Operational recommendation: Keep the maintenance window open until the server has completed its first boot and you have verified network access, storage, critical services, and application functionality.

8. Post-Upgrade Verification

After the server boots, verify that the operating system reports AlmaLinux 10:

cat /etc/redhat-release
cat /etc/os-release
uname -r

Check the enabled repositories and package manager health:

sudo dnf repolist --enabled
sudo dnf check

Review failed systemd services:

systemctl --failed

Validate network interfaces and routing:

ip address
ip route

Check the Leapp logs if you need to investigate the migration:

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

Application and infrastructure validation

  • Confirm SSH and administrative access.
  • Verify DNS resolution, routing, firewall rules, and network connectivity.
  • Check mounted filesystems, storage devices, and permissions.
  • Start and test databases, web servers, application services, and scheduled jobs.
  • Validate monitoring, backup agents, security agents, and endpoint integrations.
  • Review application logs for compatibility errors.
  • Run a test backup and confirm that the backup repository is reachable.

Do not return the server to production simply because the operating-system release file reports AlmaLinux 10. Validate the workloads that depend on the server.

9. Troubleshooting Common Upgrade Issues

Leapp reports inhibitors

Read the report carefully, identify the specific blocking condition, apply the documented correction, and rerun the pre-upgrade assessment.

Repository or dependency errors

Check repository availability, package conflicts, third-party repository configuration, and unfinished DNF transactions before retrying.

Unanswered Leapp questions

Review /var/log/leapp/answerfile and use the exact answer section and value required by the report and current documentation.

Server does not return on the network

Use console access to inspect interface configuration, NetworkManager, routes, DNS, and firewall rules before attempting remote recovery.

Old EL 9 packages remain

Review the Leapp report and package inventory. Determine which packages are valid on AlmaLinux 10 and handle leftovers carefully.

For additional known issues, use the official ELevate documentation and the AlmaLinux Leapp repository.

Conclusion

ELevate provides a documented path for upgrading AlmaLinux 9 to AlmaLinux 10 in place, but success depends on the exact source system, architecture, installed software, and repository configuration. Prepare a verified backup, fully update AlmaLinux 9, install the correct ELevate packages, and treat the Leapp pre-upgrade report as a mandatory gate.

After the upgrade, verify the operating system, repositories, services, storage, networking, applications, and backups before returning the server to production.

Official Documentation and References

Commands and support details are based on the official AlmaLinux documentation consulted for this article. Recheck the live guides immediately before performing an upgrade.

KS

About the Author

Khurram Shahzad — Hybrid Cloud & Virtualization Engineer

Khurram writes about Linux, open-source technologies, virtualization, cloud infrastructure, backup, networking, and enterprise IT. VMoreCloud publishes practical tutorials, technical explainers, and technology resources for IT professionals.

Visit VMoreCloud

Tags: AlmaLinux 10, AlmaLinux 9, ELevate, Leapp, Linux Upgrade, Linux Server, Enterprise Linux, System Administration, Linux Tutorial

Editorial note: Upgrade procedures and supported migration paths can change. Recheck official ELevate guidance immediately before executing commands.

Leave a Reply

Your email address will not be published. Required fields are marked *