
Your Essential Guide to Upgrading from RHEL 9 to RHEL 10
As Red Hat Enterprise Linux continues to evolve, staying current is key to leveraging the latest security enhancements, performance improvements, and new features. With the eventual release of RHEL 10 on the horizon, now is the perfect time for system administrators and DevOps teams to understand the upgrade path from RHEL 9.
A well-planned upgrade minimizes downtime and ensures a seamless transition. The officially supported method for moving between major RHEL versions is an in-place upgrade using the Leapp utility. This powerful tool automates many of the complex steps involved, but success depends on careful preparation and execution.
This guide provides a comprehensive, step-by-step process for preparing and performing an in-place upgrade from RHEL 9 to RHEL 10.
Phase 1: Pre-Upgrade Preparation and System Checks
Before you even think about running the upgrade command, diligent preparation is essential. Skipping these steps is the most common cause of upgrade failures.
- Create a Complete System Backup: This is your most critical safety net. Before making any changes, perform a full system backup or take a VM snapshot. If anything goes wrong, you need a reliable way to restore your system to its previous state. Do not proceed without a verified, recent backup.
- Update Your RHEL 9 System: Ensure your current system is running the latest RHEL 9 packages. This resolves potential conflicts and ensures Leapp has the most current information to work with.
bash
sudo dnf update -y
sudo reboot
- Verify Your Red Hat Subscription: The upgrade process requires a valid Red Hat subscription to access the necessary repositories and packages. Confirm your system is properly registered.
bash
sudo subscription-manager status
- Set the RHEL 9.x Release Version: The Leapp utility requires the system to be locked to a specific minor release from which the upgrade is supported. For a future RHEL 10 upgrade, this will likely be the latest RHEL 9 release (e.g., 9.4).
bash
# Replace '9.4' with the specific minor version required by Leapp
sudo subscription-manager release --set=9.4
- Check for Sufficient Disk Space: The upgrade process downloads new packages and creates backups, requiring significant free space, primarily in the
/
filesystem. A lack of disk space is a common upgrade inhibitor. Ensure you have at least 10-15 GB of free space as a safe margin.
Phase 2: The In-Place Upgrade Process with Leapp
Once your system is fully prepared, you can begin the upgrade process using the Leapp framework.
Step 1: Install the Leapp Utility
First, install the leapp
utility and its required dependencies from the official repositories.
sudo dnf install -y leapp-upgrade
Step 2: Run the Pre-Upgrade Analysis
This is the most important step in the Leapp process. The preupgrade
command simulates the upgrade and generates a detailed report identifying potential problems, package conflicts, or deprecated configurations that would cause the upgrade to fail. This command does not change your system; it only performs a dry run.
sudo leapp preupgrade --target 10.0
(Note: The exact target version string may vary upon RHEL 10’s release.)
Step 3: Review the Report and Resolve Inhibitors
After the analysis completes, Leapp generates a report located at /var/log/leapp/leapp-report.txt
. Read this report carefully. It will contain two key types of information:
- Inhibitors: These are critical issues that will block the upgrade. You must resolve every inhibitor before you can proceed. The report provides clear instructions and suggested solutions for each inhibitor.
- Non-critical Issues: These are warnings or informational messages about changes that you should be aware of but won’t stop the upgrade.
You must address all inhibitors before moving to the next step. Common inhibitors include obsolete packages, incompatible third-party drivers, or custom system configurations. Follow the remediation steps provided in the report.
Step 4: Perform the Actual Upgrade
Once you have resolved all inhibitors and the leapp preupgrade
command runs without errors, you are ready to start the upgrade.
sudo leapp upgrade --target 10.0
This command will download all necessary RHEL 10 packages and prepare the system for the transition. Once this phase is complete, the system will automatically reboot to finish the upgrade.
Phase 3: Post-Upgrade Verification
After the system reboots, it will boot into the new RHEL 10 environment. Your work isn’t done yet; you must verify that the upgrade was successful and that your services are running correctly.
- Confirm the New OS Version: Log in and verify that you are now running Red Hat Enterprise Linux 10.
bash
cat /etc/redhat-release
- Check Kernel Version:
bash
uname -r
- Verify System Services: Check for any services that failed to start during the boot process.
bash
systemctl --failed
Address any failed units by investigating their logs withjournalctl
. - Test Critical Applications: Thoroughly test all business-critical applications and services hosted on the server to ensure they function as expected on the new OS version.
- Clean Up Old Packages: After you are confident the system is stable, you can clean up any orphaned or obsolete packages from the previous version.
Final Security and Best Practices
- Test in a Staging Environment First: Before upgrading a production server, always perform a test run on a clone or a dedicated staging machine. This allows you to identify potential issues specific to your environment without risking production data.
- Review Application Compatibility: Proactively check if your key applications are certified or compatible with RHEL 10. Contact your software vendors for their support statements.
- Read the Official Release Notes: Once RHEL 10 is released, read the official documentation. It will contain critical information about deprecated features and major changes that could impact your systems.
By following this structured approach—prepare, analyze, upgrade, and verify—you can ensure a smooth and successful transition to Red Hat Enterprise Linux 10, keeping your infrastructure secure, supported, and ready for the future.
Source: https://centlinux.com/upgrade-rhel-9-to-10/