Skip to main content
Redhat Developers  Logo
  • Products

    Platforms

    • Red Hat Enterprise Linux
      Red Hat Enterprise Linux Icon
    • Red Hat AI
      Red Hat AI
    • Red Hat OpenShift
      Openshift icon
    • Red Hat Ansible Automation Platform
      Ansible icon
    • View All Red Hat Products

    Featured

    • Red Hat build of OpenJDK
    • Red Hat Developer Hub
    • Red Hat JBoss Enterprise Application Platform
    • Red Hat OpenShift Dev Spaces
    • Red Hat OpenShift Local
    • Red Hat Developer Sandbox

      Try Red Hat products and technologies without setup or configuration fees for 30 days with this shared Openshift and Kubernetes cluster.
    • Try at no cost
  • Technologies

    Featured

    • AI/ML
      AI/ML Icon
    • Linux
      Linux Icon
    • Kubernetes
      Cloud icon
    • Automation
      Automation Icon showing arrows moving in a circle around a gear
    • View All Technologies
    • Programming Languages & Frameworks

      • Java
      • Python
      • JavaScript
    • System Design & Architecture

      • Red Hat architecture and design patterns
      • Microservices
      • Event-Driven Architecture
      • Databases
    • Developer Productivity

      • Developer productivity
      • Developer Tools
      • GitOps
    • Automated Data Processing

      • AI/ML
      • Data Science
      • Apache Kafka on Kubernetes
    • Platform Engineering

      • DevOps
      • DevSecOps
      • Ansible automation for applications and services
    • Secure Development & Architectures

      • Security
      • Secure coding
  • Learn

    Featured

    • Kubernetes & Cloud Native
      Openshift icon
    • Linux
      Rhel icon
    • Automation
      Ansible cloud icon
    • AI/ML
      AI/ML Icon
    • View All Learning Resources

    E-Books

    • GitOps Cookbook
    • Podman in Action
    • Kubernetes Operators
    • The Path to GitOps
    • View All E-books

    Cheat Sheets

    • Linux Commands
    • Bash Commands
    • Git
    • systemd Commands
    • View All Cheat Sheets

    Documentation

    • Product Documentation
    • API Catalog
    • Legacy Documentation
  • Developer Sandbox

    Developer Sandbox

    • Access Red Hat’s products and technologies without setup or configuration, and start developing quicker than ever before with our new, no-cost sandbox environments.
    • Explore Developer Sandbox

    Featured Developer Sandbox activities

    • Get started with your Developer Sandbox
    • OpenShift virtualization and application modernization using the Developer Sandbox
    • Explore all Developer Sandbox activities

    Ready to start developing apps?

    • Try at no cost
  • Blog
  • Events
  • Videos

Upgrade from RHEL 9 to RHEL 10 with Red Hat Satellite 6.17

August 8, 2025
Avnish Kumar
Related topics:
Disconnected EnvironmentsLinux
Related products:
Red Hat Enterprise Linux

Share:

    Now that Red Hat Enterprise Linux (RHEL) 10 is generally available, system administrators managing large-scale environments need a streamlined way to perform in-place upgrades. For organizations using Red Hat Satellite, the upgrade process can be centrally managed, ensuring consistency and compliance across multiple systems. Managing enterprise Linux systems at scale can be complex, especially when dealing with patching, compliance, and major version upgrades. Satellite and Leapp are two powerful tools designed to simplify these tasks.

    Leapp is an open source upgrade framework to automate and simplify in-place major version upgrades of RHEL systems. Unlike traditional manual upgrades or disruptive migration approaches, Leapp performs pre-upgrade checks, resolves compatibility issues, and executes the upgrade with minimal downtime—all while preserving system configurations and applications.

    In this article, we'll walk through the steps to upgrade from RHEL 9 to RHEL 10, using Leapp while leveraging Red Hat Satellite for repository management, content synchronization, and system tracking.  

    Satellite and Leapp features

    Red Hat Satellite is a systems management platform that helps organizations deploy, patch, and maintain RHEL infrastructure efficiently—including systems that are not connected to the internet. For air-gapped or disconnected environments, Satellite serves as a critical bridge, allowing enterprises to maintain secure, up-to-date systems without direct internet access. 

    Key features of Satellite include:

    • Patch management: Centrally deploy security and bug fixes.
    • Content lifecycle management: Control which packages/versions are deployed.
    • Automation: Use Ansible roles for system configuration and deployments.
    • Compliance enforcement: SCAP security baselines and policy enforcement.

    Key features of Leapp include:

    • Seamless major version upgrades (e.g., RHEL 9 to RHEL 10).
    • Pre-upgrade checks: Identifies potential issues (e.g. driver compatibility).
    • Minimal downtime: Identifies inhibitors and provides remediation steps.
    • Integration with Satellite: Managed centrally for large-scale upgrades.

    Prerequisites

    Before starting the upgrade, ensure Red Hat Satellite 6.17 is properly configured with the following:  

    • RHEL 9 and RHEL 10 repositories enabled and synced.
    • Content views updated to include RHEL 10.0 repositories. 

    Click the checkbox next to each item to enable them, as shown in Figure 1.

    A view of the Red Hat Satellite UI showing checked boxes indicating that RHEL 10.0 repositories are enabled.
    Figure 1: Checked boxes indicating that RHEL 10.0 repositories are enabled.

    Upgraded systems are:

    • Registered with Red Hat Satellite 6.17 latest.
    • Running on the latest RHEL 9.6 Kernel release.

    They must also have:

    • Backups taken (snapshots or system backups).
    • Maintenance window scheduled (upgrades require reboots).

    Step 1: Configure Satellite for RHEL 10

    To perform an in-place upgrade to RHEL 10 on a system registered with Satellite, you must first prepare your system. Carry out these preparation steps on the Satellite server.

    Enable and synchronize RHEL 9.6 and 10.0 repositories

    Follow these steps to enable and sync repositiories on Satellite:

    1. In the Satellite Web UI, navigate to Content.
    2. Select Red Hat Repositories then turn on Recommended Repositories to enable and sync repositories.
    3. Then, return to the Content tab. From there, select Sync Status > Select Repositories > Synchronize Now.

    See the following:

    Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)  rhel-9-for-x86_64-appstream-rpms  x86_64 9.6
    Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)     rhel-9-for-x86_64-baseos-rpms     x86_64 9.6
    Red Hat Enterprise Linux 10 for x86_64 - AppStream (RPMs) rhel-10-for-x86_64-appstream-rpms x86_64 10.0
    Red Hat Enterprise Linux 10 for x86_64 - BaseOS (RPMs)    rhel-10-for-x86_64-baseos-rpms    x86_64 10.0

    Step 2: Prepare systems for upgrade

    Next, we'll walk through the necessary steps to prepare for an in-place upgrade to RHEL 10 using the Leapp utility.

    Register systems with Satellite (if not already done):

    1. In the Satellite Web UI, navigate to Hosts.
    2. Select Content Hosts then click Register Content Hosts.

    Update to the latest RHEL 9.6 Packages by running the following commands:

    # dnf update -y
    # reboot

    Install Leapp and required packages by running the following commands:

    # dnf install -y leapp-upgrade

    Run Leapp pre-upgrade check:

    # leapp preupgrade --target 10.0

    The output will look like this:

    [root@avnkumar9 ~]#
    [root@avnkumar9 ~]# leapp preupgrade --target 10.0
    
    
    ==> Processing phase `configuration_phase`
    ====> * ipu_workflow_config
            IPU workflow config actor
    ==> Processing phase `FactsCollection`
    ====> * rpm_scanner
            Provides data about installed RPM Packages.

    Review the report for any blockers or inhibitors error in this file:

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

    The output will look like this:

    Debug output written to /var/log/leapp/leapp-preupgrade.log
    
    ========================================================================================================================
                                                          REPORT OVERVIEW
    ========================================================================================================================
    
    HIGH and MEDIUM severity reports:
    1. GRUB2 core will be automatically updated during the upgrade
    2. Leapp detected loaded kernel drivers which are no longer maintained in RHEL 10.
    3. Berkeley DB (libdbb) has been detected on your system
    
    Reports summary:
    Errors:                                                                 0
    Inhibitors:                                                             0
    HIGH severity reports:                                                  2
    MEDIUM severity reports:                                                1
    LOW severity reports:                                                   2
    INFO severity reports:                                                  3
    
    Before continuing, review the full report below for details about discovered problems and their recommended solutions.
    A report has been generated at /var/log/leapp/leapp-report.txt
    A report has been generated at /var/log/leapp/leapp-report.json
    
    ========================================================================================================================
                                                          END OF REPORT OVERVIEW
    ========================================================================================================================
    
    Answerfile has been generated at /var/log/leapp/answerfile
    [root@avnkumar9 ~]#

    Step 3: Upgrade via Satellite-managed hosts

    After finishing the preparatory tasks and resolving any problems highlighted in the pre-upgrade report, you are ready to execute the in-place upgrade. The following steps guide you through upgrading from RHEL 9 to RHEL 10 using the Leapp utility.

    Execute the upgrade by running the following command:

    # leapp upgrade --target 10.0

    The output will look similar to the following:

    END OF REPORT OVERVIEW
    ========================================================================================================================
    
    Answerfile has been generated at /var/log/leapp/answerfile
    [root@avnkumar9 ~]#
    [root@avnkumar9 ~]#
    [root@avnkumar9 ~]# leapp upgrade --target 10.0
    ==> Processing phase `configuration_phase`
    ====> * ipu_workflow_config
            IPU workflow config actor
    ==> Processing phase `FactsCollection`
    ====> * open_ssl_config_scanner
            Read an OpenSSL configuration file for further analysis.
    ====> * rpm_scanner
            Provides data about installed RPM Packages.

    Manually reboot the system:

    # reboot

    The output of the successful upgrade is as follows:

    Running transaction check
    Transaction check succeeded.
    Running transaction test
    Transaction test succeeded.
    Complete!
    =====> * add_upgrade_boot_entry
    Add new boot entry for Leapp provided initramfs.
    A reboot is required to continue. Please reboot your system.
    
    Debug output written to /var/log/leapp/leapp-upgrade.log
    
    ========================================================================================================================
                                                          REPORT OVERVIEW
    ========================================================================================================================
    
    HIGH and MEDIUM severity reports:
    1. GRUB2 core will be automatically updated during the upgrade
    2. Leapp detected loaded kernel drivers which are no longer maintained in RHEL 10.
    3. Berkeley DB (libdbb) has been detected on your system
    
    Reports summary:
    Errors:                                                                 0
    Inhibitors:                                                             0
    HIGH severity reports:                                                  2
    MEDIUM severity reports:                                                1
    LOW severity reports:                                                   2
    INFO severity reports:                                                  3
    
    Before continuing, review the full report below for details about discovered problems and their recommended solutions.
    A report has been generated at /var/log/leapp/leapp-report.txt
    A report has been generated at /var/log/leapp/leapp-report.json
    
    ========================================================================================================================
                                                          END OF REPORT OVERVIEW
    ========================================================================================================================

    Step 4: Post-upgrade validation

    Once you've completed your in-place upgrade to RHEL 10, verify that your system is running smoothly on the latest kernel. 

    Confirm the OS and kernel version installed by running the following:

    # uname -a
    # cat /etc/redhat-release
    # subscription-manager list

    The output is as follows:

    [root@avnkumar9 ~]#
    [root@avnkumar9 ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux release 10.0 (Coughlan)
    [root@avnkumar9 ~]# subscription-manager list
    +-------------------------------------------+
       Installed Product Status
    +-------------------------------------------+
    Product Name: Red Hat Enterprise Linux for x86_64
    Product ID:   479
    Version:      10.0
    Arch:         x86_64
    
    [root@avnkumar9 ~]# rpm -qa kernel --last
    kernel-6.12.0-55.12.1.el10_0.x86_64                    Tuesday 20 May 2025 10:29:32 PM
    [root@avnkumar9 ~]#
    [root@avnkumar9 ~]#

    Finally, you can perform post-upgrade tasks to remove the old RHEL 9 packages.

    Final thoughts

    Using Leapp with Red Hat Satellite to upgrade from RHEL 9 to RHEL 10 ensures a controlled, consistent, and auditable process. By leveraging Satellite’s repository management and activation keys, organizations can streamline upgrades to registered systems easily. If you've tried upgrading with Satellite 6.17, share your experience with us.

    Related Posts

    • Leverage Red Hat Satellite for Insights reporting and automation

    • Satellite webhook and Insights automation for efficient RHEL operations

    • How to package Go applications in RHEL 10

    • Discover packaging parallel database streams in RHEL 10

    Recent Posts

    • A case study in Kubelet regression in OpenShift

    • Profiling vLLM Inference Server with GPU acceleration on RHEL

    • Network performance in distributed training: Maximizing GPU utilization on OpenShift

    • Clang bytecode interpreter update

    • How Red Hat has redefined continuous performance testing

    What’s up next?

    Learn how to locally build and run a bootable container (bootc) image in Podman Desktop.

    Start the activity
    Red Hat Developers logo LinkedIn YouTube Twitter Facebook

    Platforms

    • Red Hat AI
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat Ansible Automation Platform
    • See all products

    Build

    • Developer Sandbox
    • Developer Tools
    • Interactive Tutorials
    • API Catalog

    Quicklinks

    • Learning Resources
    • E-books
    • Cheat Sheets
    • Blog
    • Events
    • Newsletter

    Communicate

    • About us
    • Contact sales
    • Find a partner
    • Report a website issue
    • Site Status Dashboard
    • Report a security problem

    RED HAT DEVELOPER

    Build here. Go anywhere.

    We serve the builders. The problem solvers who create careers with code.

    Join us if you’re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.

    Sign me up

    Red Hat legal and privacy links

    • About Red Hat
    • Jobs
    • Events
    • Locations
    • Contact Red Hat
    • Red Hat Blog
    • Inclusion at Red Hat
    • Cool Stuff Store
    • Red Hat Summit
    © 2025 Red Hat

    Red Hat legal and privacy links

    • Privacy statement
    • Terms of use
    • All policies and guidelines
    • Digital accessibility

    Report a website issue