Chapter 2. Preparing a RHEL 7 system for the upgrade

This procedure describes the steps that are necessary before performing an in-place upgrade to RHEL 8 using the Leapp utility.

If you do not plan to use Red Hat Subscription Manager during the upgrade process, follow instructions in Upgrading to RHEL 8 without Red Hat Subscription Manager.



  1. Ensure your system has been successfully registered to the Red Hat Content Delivery Network (CDN) or Red Hat Satellite 6.5 or later using the Red Hat Subscription Manager.


    If your system is registered to Satellite Server, ensure that Satellite meets the following conditions:

    1. Satellite has a subscription manifest with RHEL 8 repositories imported. For more information, see the Managing Subscriptions chapter in the Content Management Guide for the particular version of Red Hat Satellite, for example, for version 6.7.
    2. The following repositories are enabled and synchronized with the latest updates, and published on Satellite:

      • Red Hat Enterprise Linux 7 Server RPMs x86_64 7 or Red Hat Enterprise Linux 7 Server RPMs x86_64 7.9
      • Red Hat Enterprise Linux 7 Server - Extras (RPMs)
      • Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs x86_64 8.2
      • Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs x86_64 8.2

        For more information, see the Importing Red Hat Content chapter in the Content Management Guide for the particular version of Red Hat Satellite, for example, for version 6.7.

  2. Verify that you have the Red Hat Enterprise Linux Server subscription attached:

    # subscription-manager list --installed
        	  Installed Product Status
    Product Name:  	Red Hat Enterprise Linux Server
    Product ID:     69
    Version:        7.9
    Arch:           x86_64
    Status:         Subscribed

    You should see Server in the product name and Subscribed as the status.

  3. Ensure you have appropriate repositories enabled. The following commands list repositories for the 64-bit Intel architecture; for other architectures, see RHEL 7 repositories.

    1. Enable the Base repository:

      # subscription-manager repos --enable rhel-7-server-rpms
    2. Enable the Extras repository where Leapp and its dependencies are available:

      # subscription-manager repos --enable rhel-7-server-extras-rpms

      You can also have the Optional or Supplementary repositories enabled; see their list in RHEL 7 repositories. In such a case, Leapp enables the RHEL 8 CodeReady Linux Builder or the RHEL 8 Supplementary repositories, respectively.

  4. Set the Red Hat Subscription Manager to consume the latest RHEL 7 content:

    # subscription-manager release --unset
  5. Optional: If you want to use custom repositories, configure them per instructions in Configuring custom repositories.
  6. If you use the yum-plugin-versionlock plug-in to lock packages to a specific version, clear the lock by running:

    # yum versionlock clear

    See How to restrict yum to install or upgrade a package to a fixed specific package version? for more information.

  7. Ensure you have the system locale set to en_US.UTF-8:

    $ cat /etc/locale.conf

    If the locale is different, follow instructions in How to change system locale on RHEL7?.

  8. If you are upgrading using Red Hat Update Infrastructure (RHUI) on a public cloud, complete the following tasks to ensure your system is ready for upgrade.

    1. For AWS, enable the Red Hat Update Infrastructure 3 Client Configuration Server 7 repository and install required RHUI packages.

      1. For non-ARM architectures:

        # yum-config-manager --enable rhui-client-config-server-7
        # yum -y install rh-amazon-rhui-client leapp-rhui-aws
      2. For the ARM architecture:

        # yum-config-manager --enable rhui-client-config-server-7-arm
        # yum -y install rh-amazon-rhui-client-arm leapp-rhui-aws
    2. For Microsoft Azure, enable the Microsoft Azure RPMs for Red Hat Enterprise Linux 7 repository and install required RHUI packages.

      # yum-config-manager --enable rhui-microsoft-azure-rhel7
      # yum -y install rhui-azure-rhel7 leapp-rhui-azure

      If you locked the Azure virtual machine (VM) to a minor release, remove the version lock. For more information, see Switch a RHEL 7.x VM back to non-EUS.

  9. Update all packages to the latest RHEL 7 version:

    # yum update
  10. Reboot the system:

    # reboot
  11. Install the Leapp utility:

    # yum install leapp leapp-repository

    Note that currently you need version 0.11.1 or later of the leapp package and version 0.12.0 or later of the leapp-repository package.

  12. Download additional required data files (RPM package changes and RPM repository mapping) attached to the Knowledgebase article Data required by the Leapp utility for an in-place upgrade from RHEL 7 to RHEL 8 and place them in the /etc/leapp/files/ directory. This is necessary for a successful upgrade. Note that currently you need data files from the leapp-data12.tar.gz archive or later.


    If you are upgrading on a public cloud using RHUI and do not have a Red Hat subscription or Red Hat Customer Portal account, create a no-cost RHEL developer subscription so that you can access the Knowledgebase article and download required data packages. For more information, see How do I get a no-cost Red Hat Enterprise Linux Developer Subscription or renew it?

  13. Ensure you have any configuration management (such as Salt, Chef, Puppet, Ansible) disabled or adequately reconfigured to not attempt to restore the original RHEL 7 system.
  14. Ensure your system does not use more than one Network Interface Card (NIC) with a name based on the prefix used by the kernel (eth). For instructions on how to migrate to another naming scheme before an in-place upgrade to RHEL 8, see How to perform an in-place upgrade to RHEL 8 when using kernel NIC names on RHEL 7.
  15. Ensure you have a full system backup or a virtual machine snapshot. You should be able to get your system to the pre-upgrade state if you follow standard disaster recovery procedures within your environment. For example, you can use the Relax-and-Recover (ReaR) utility. For more information, see the ReaR documentation and What is Relax and Recover (ReaR) and how can I use it for disaster recovery?. Alternatively, you can use LVM snapshots, or RAID splitting. In case of upgrading a virtual machine, you can create a snapshot of the whole VM.