How to Upgrade from RHEL 9 to RHEL 10 Safely
Upgrading your system to Red Hat Enterprise Linux (RHEL) 10, released in May 2025, is an exciting step to unlock new features like the Linux 6.12 kernel, Lightspeed AI integration, and post-quantum cryptography. However, moving from RHEL 9 to RHEL 10 requires careful planning to avoid downtime, data loss, or compatibility issues. Whether you’re a system administrator managing enterprise servers or a Linux enthusiast, this guide will walk you through the process of upgrading safely. With a step-by-step approach, practical tips, and best practices, you’ll be ready to make the transition smoothly. Let’s dive in and ensure your upgrade to RHEL 10 is a success!

Table of Contents
- Why Upgrade to RHEL 10?
- Pre-Upgrade Preparation
- Upgrade Methods Overview
- Step-by-Step Upgrade Process
- Post-Upgrade Tasks
- Troubleshooting Common Issues
- Conclusion
- Frequently Asked Questions
Why Upgrade to RHEL 10?
RHEL 10 brings significant improvements over RHEL 9, making the upgrade worthwhile for many organizations and users. Released in May 2025, it offers enhanced performance, security, and automation features tailored for modern enterprise needs. Key highlights include:
- Newer Kernel: Linux kernel 6.12 improves hardware support and performance.
- Lightspeed AI: AI-driven tools for system optimization and troubleshooting.
- Post-Quantum Cryptography: FIPS-compliant security to protect against future quantum attacks.
- Wayland Only: Improved graphical performance by replacing X11.
- Extended Support: Full support until May 2030, compared to RHEL 9’s end in May 2027.
- Enhanced Container Tools: Better Podman integration for rootless containers.
Upgrading ensures access to these features, keeping your systems secure, efficient, and future-proof.
Pre-Upgrade Preparation
A successful upgrade starts with thorough preparation. Skipping these steps can lead to data loss or system instability. Here’s how to prepare:
- Check System Requirements: RHEL 10 requires at least 1.5 GiB RAM for local media installation (3 GiB for ppc64le) or 3 GiB for network installation (4 GiB for ppc64le).
- Verify Subscription: Ensure your Red Hat subscription is active. Run
subscription-manager status
to confirm. - Backup Data: Back up critical files, databases, and configurations to an external drive or cloud storage.
- Check Compatibility: Review application and hardware compatibility with RHEL 10 using Red Hat’s documentation.
- Update RHEL 9: Apply all updates with
sudo dnf update
to ensure your system is on the latest RHEL 9 release. - Test in a Lab: Perform a trial upgrade in a virtual machine to identify potential issues.
- Document Configuration: Note current settings (e.g., network, SELinux) for reference during the upgrade.
Upgrade Methods Overview
RHEL 10 supports two primary upgrade methods: in-place upgrade and clean installation. The table below compares these options to help you choose.
Upgrade Method | Description | Pros | Cons |
---|---|---|---|
In-Place Upgrade | Upgrades RHEL 9 to RHEL 10 while preserving data and settings using LEAPP. | Retains configurations; less downtime. | Risk of compatibility issues; requires careful preparation. |
Clean Installation | Installs RHEL 10 from scratch after backing up and wiping the system. | Cleaner system; fewer compatibility issues. | Requires manual reconfiguration; more downtime. |
This guide focuses on the in-place upgrade using the LEAPP utility, as it’s the most common method for preserving existing setups.
Step-by-Step Upgrade Process
The in-place upgrade uses the LEAPP utility, a Red Hat tool designed to transition between major RHEL versions. Follow these steps carefully:
- Step 1: Verify System Status
- Ensure RHEL 9 is fully updated:
sudo dnf update -y
. - Check subscription:
subscription-manager list --available
. - Verify kernel version (should be 5.14 or later):
uname -r
.
- Ensure RHEL 9 is fully updated:
- Step 2: Back Up Your System
- Back up critical data to an external drive or cloud using
rsync
ortar
. - Export configurations (e.g.,
/etc
files) withtar -cvf config-backup.tar /etc
. - Test backups to ensure they’re accessible.
- Back up critical data to an external drive or cloud using
- Step 3: Install LEAPP
- Install the LEAPP utility:
sudo dnf install leapp-upgrade
. - Enable the RHEL 10 repository:
subscription-manager repos --enable rhel-10-for-x86_64-baseos-rpms
.
- Install the LEAPP utility:
- Step 4: Run Pre-Upgrade Assessment
- Generate a pre-upgrade report:
sudo leapp preupgrade
. - Review the report in
/var/log/leapp/leapp-report.txt
for potential issues (e.g., incompatible packages). - Resolve issues, such as removing unsupported packages or updating drivers.
- Generate a pre-upgrade report:
- Step 5: Perform the Upgrade
- Initiate the upgrade:
sudo leapp upgrade
. - The system will download RHEL 10 packages and create a temporary boot entry.
- Reboot the system:
sudo reboot
. - Select the LEAPP-generated boot entry during startup.
- Initiate the upgrade:
- Step 6: Monitor the Upgrade
- The system will boot into a LEAPP environment to complete the upgrade.
- Monitor progress via the console or logs in
/var/log/leapp
. - The process may take 30–60 minutes, depending on system size.
Note: Do not interrupt the upgrade process, as it may leave the system in an unstable state.
Post-Upgrade Tasks
After the upgrade, verify and optimize your system to ensure everything works as expected:
- Verify System Version: Confirm RHEL 10 with
cat /etc/redhat-release
. - Check Services: Ensure critical services are running:
systemctl status sshd
. - Update Packages: Run
sudo dnf update -y
to apply the latest RHEL 10 patches. - Test Applications: Verify that applications and custom configurations work correctly.
- Configure New Features: Enable Lightspeed AI or post-quantum cryptography if needed.
- Remove Old Kernels: Clean up old RHEL 9 kernels with
sudo dnf remove kernel-5.14*
. - Validate SELinux: Check SELinux status with
getenforce
and fix issues usingaudit2allow
.
Troubleshooting Common Issues
Upgrades can hit snags. Here are common issues and how to fix them:
- LEAPP Pre-Upgrade Errors: Review
/var/log/leapp/leapp-report.txt
and resolve flagged issues, like removing deprecated packages. - Boot Failure: Boot into a previous kernel from the GRUB menu and check logs in
/var/log
. - Package Conflicts: Remove conflicting packages with
dnf remove package-name
before retrying. - SELinux Issues: Set SELinux to permissive mode (
setenforce 0
) temporarily, then fix policies withaudit2allow
. - Network Issues: Reconfigure network settings with
nmcli
if connectivity is lost. - Rollback: If the upgrade fails, restore from your backup and consider a clean installation.
Conclusion
Upgrading from RHEL 9 to RHEL 10 is a strategic move to leverage advanced features like Lightspeed AI, post-quantum cryptography, and extended support until 2030. By following a careful process—preparing thoroughly, using the LEAPP utility, and performing post-upgrade checks—you can ensure a smooth transition with minimal disruption. Backups, compatibility checks, and a test lab are your best friends to avoid pitfalls. Whether you’re managing enterprise servers or a single system, this guide equips you with the knowledge to upgrade safely. Take the plunge, test your setup, and enjoy the power of RHEL 10!
Frequently Asked Questions
Why should I upgrade from RHEL 9 to RHEL 10?
RHEL 10 offers a newer kernel (6.12), Lightspeed AI, post-quantum cryptography, and support until May 2030.
What is the LEAPP utility?
LEAPP is a Red Hat tool for in-place upgrades between major RHEL versions, preserving data and settings.
Is an in-place upgrade safe for RHEL 10?
Yes, if you back up data, check compatibility, and follow the LEAPP process carefully.
Can I perform a clean installation instead?
Yes, a clean installation ensures a fresh system but requires manual reconfiguration and more downtime.
What are the minimum RAM requirements for RHEL 10?
1.5 GiB for local media, 3 GiB for network installs (3 GiB and 4 GiB for ppc64le, respectively).
Do I need an active Red Hat subscription?
Yes, a valid subscription is required to access RHEL 10 repositories and updates.
How long does the RHEL 10 upgrade take?
The upgrade typically takes 30–60 minutes, depending on system size and network speed.
What should I back up before upgrading?
Back up critical files, databases, and configurations (e.g., /etc
) to an external drive or cloud.
How do I check my RHEL 9 version?
Run cat /etc/redhat-release
to confirm you’re on the latest RHEL 9 release.
What is post-quantum cryptography in RHEL 10?
It’s a FIPS-compliant security feature to protect data against future quantum computing attacks.
Can I test the upgrade in a virtual machine?
Yes, testing in a virtual machine (e.g., VirtualBox) is recommended to identify issues.
What happens if the upgrade fails?
Boot into a previous kernel or restore from your backup, then troubleshoot or opt for a clean install.
How do I resolve LEAPP pre-upgrade errors?
Check /var/log/leapp/leapp-report.txt
and remove or update incompatible packages.
Does RHEL 10 support X11?
No, RHEL 10 uses Wayland only for its display system.
How do I verify the upgrade was successful?
Run cat /etc/redhat-release
to confirm RHEL 10 and check services with systemctl
.
Can I roll back to RHEL 9 after upgrading?
Rolling back is complex; restore from a backup or reinstall RHEL 9 if needed.
What is Lightspeed AI in RHEL 10?
It’s an AI-driven tool for system optimization and troubleshooting, included in RHEL 10.
Do I need to reconfigure SELinux after upgrading?
Check SELinux status with getenforce
and fix policies with audit2allow
if issues arise.
How do I update packages after the upgrade?
Run sudo dnf update -y
to apply the latest RHEL 10 patches.
Where can I find more help for the upgrade?
Consult Red Hat’s documentation (docs.redhat.com) or forums like r/redhat on Reddit.
What's Your Reaction?






