How to Update AlmaLinux 9 to AlmaLinux 10 (Complete Guide Using ELevate)
AlmaLinux has become one of the most popular enterprise Linux distributions, widely used for servers, virtualization environments, and production workloads. If you already run AlmaLinux 9, upgrading to AlmaLinux 10 is now possible using the official ELevate migration framework.
Whether you are managing servers used for development tools like Visual Studio, editing code with Notepad++ on Linux, experimenting with lightweight desktops such as Xubuntu or Lubuntu, or simply managing systems through common utilities like the pwd command or applications like Pinta, keeping the underlying operating system updated remains critical for security and performance.
In this guide, I will walk you through the complete upgrade process from AlmaLinux 9 to AlmaLinux 10, explain how the migration works, and highlight the important precautions you should take before running the upgrade on production systems.
Understanding the AlmaLinux 9 → AlmaLinux 10 Upgrade
Unlike minor updates inside the same version branch, moving from AlmaLinux 9 to AlmaLinux 10 is a major distribution upgrade. This means core components change significantly:
- New kernel version
- Updated system libraries
- New toolchain versions
- Changes in package dependencies
- Updated security policies
Because of these changes, AlmaLinux does not use a simple dnf upgrade. Instead, it relies on the ELevate project, a framework designed specifically for in-place upgrades between Enterprise Linux major versions.
ELevate uses the Leapp upgrade utility, which analyzes the system, resolves upgrade blockers, and performs the migration safely.
What Is AlmaLinux ELevate?
ELevate is an upgrade framework developed by the AlmaLinux community to enable major version migrations between Enterprise Linux distributions.
It allows upgrades such as:
- AlmaLinux 8 → AlmaLinux 9
- AlmaLinux 9 → AlmaLinux 10
- CentOS Stream migrations
- Cross-distribution upgrades in some cases
Internally, the upgrade process works like this:
- System analysis checks compatibility.
- The Leapp tool generates a pre-upgrade report.
- The system downloads AlmaLinux 10 packages.
- A temporary upgrade environment is created.
- The system reboots into the upgrade process.
- Packages are replaced and configuration updates are applied.
This approach allows upgrades without reinstalling the operating system, which is extremely useful for production servers.
Requirements Before Upgrading
Before attempting the upgrade, make sure your system meets a few important conditions.
1. Fully Updated AlmaLinux 9 System
Your system should be running the latest AlmaLinux 9 updates.
Run:
sudo dnf upgrade --refresh
Then reboot if necessary.
2. Root or Sudo Access
The upgrade process requires full administrative privileges.
Verify your access:
sudo -i
3. Reliable Backup
This step is essential.
Create backups of:
/etc/home- databases
- web server files
- application configurations
Major upgrades can break services if incompatible packages exist.
4. Check Third-Party Repositories
Third-party repositories can interfere with the upgrade.
Common problematic repos include:
- EPEL
- custom hosting panels
- vendor repositories
- development repositories
List them with:
dnf repolist
Disable unnecessary repositories before continuing.
Step 1 – Install the ELevate Upgrade Tools
First install the AlmaLinux ELevate repository.
sudo dnf install -y https://repo.almalinux.org/elevate/elevate-release-latest-el9.noarch.rpm
Next install the upgrade tools.
sudo dnf install -y leapp-upgrade leapp-data-almalinux
These packages contain:
- the Leapp upgrade framework
- AlmaLinux specific upgrade data
- migration scripts
Step 2 – Run the Pre-Upgrade Check
Before performing the upgrade, run the system analysis.
sudo leapp preupgrade
This command scans the system and generates a detailed compatibility report.
The results are saved in:
/var/log/leapp/leapp-report.txt
Carefully review this report.
Common issues reported include:
- unsupported packages
- deprecated drivers
- kernel modules not available in AlmaLinux 10
- repository conflicts
You must resolve all inhibitors before the upgrade can proceed.
Step 3 – Fix Detected Upgrade Issues
Typical fixes include:
Removing unsupported packages
sudo dnf remove package_name
Disabling problematic repositories
sudo dnf config-manager --set-disabled repo_name
Removing obsolete kernel modules
Some older hardware drivers may not be supported in AlmaLinux 10.
In such cases, you may need to uninstall or replace them.
After resolving the issues, run the pre-check again:
sudo leapp preupgrade
Continue until no upgrade blockers remain.
Step 4 – Start the Upgrade Process
Once the system passes all checks, you can begin the upgrade.
sudo leapp upgrade
During this step:
- AlmaLinux 10 packages are downloaded
- upgrade transaction is prepared
- system configuration adjustments are staged
When the process finishes, you will see a message instructing you to reboot.
Step 5 – Reboot Into the Upgrade Environment
Start the upgrade by rebooting.
sudo reboot
The system will boot into a temporary Leapp upgrade environment, where:
- AlmaLinux 9 packages are replaced
- system libraries are upgraded
- configuration files are migrated
This process may take several minutes depending on the server and installed packages.
Step 6 – Verify the Upgrade
After the reboot completes, verify the new system version.
cat /etc/os-release
You should now see AlmaLinux 10 listed.
You can also confirm with:
uname -r
And check installed repositories:
dnf repolist
At this stage, your system should be running AlmaLinux 10 successfully.
Post-Upgrade Tasks
After upgrading, it is a good idea to perform several checks.
Clean Old Packages
sudo dnf autoremove
Re-enable Needed Repositories
If you disabled repositories earlier, enable only the ones compatible with AlmaLinux 10.
Test Critical Services
Verify that important services start correctly:
- web servers
- database servers
- virtualization services
- monitoring agents
- backup systems
Third-Party Software
Software compiled specifically for AlmaLinux 9 may fail on AlmaLinux 10 due to library changes.
Examples include:
- custom GitLab builds
- proprietary drivers
- enterprise monitoring tools
Reinstalling or rebuilding these applications is sometimes required.
Should You Upgrade Immediately?
For many administrators, the safest strategy is:
- test upgrades on staging servers
- upgrade development environments first
- migrate production systems later
Although the upgrade process is reliable, enterprise environments benefit from careful planning.
Final Thoughts
Upgrading from AlmaLinux 9 to AlmaLinux 10 is now officially supported thanks to the ELevate migration framework. With the help of the Leapp upgrade tool, administrators can perform a full in-place system upgrade without reinstalling the operating system.
The key to a smooth upgrade is preparation: update your system, check repositories, run the pre-upgrade analysis, and resolve any blockers before starting the migration.
Once completed, AlmaLinux 10 provides a modern enterprise Linux environment with updated packages, improved performance, and long-term support suitable for servers, development platforms, and infrastructure workloads.






