How to Upgrade from RHEL 7 to RHEL 8

Red Hat has announced the release of Red Hat Enterprise Linux 8.0, which comes with GNOME 3.28 as the default desktop environment and runs on Wayland.

This article describes instructions on how to upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 using the Leapp utility.

If you’re looking for a fresh RHEL 8 installation, head over to our article: Installation of RHEL 8 with Screenshots


An in-place upgrade to RHEL 8 is presently supported only on systems meeting the following requirements:

  • RHEL 7.6 installed
  • The Server variant
  • The Intel 64 architecture
  • At least 100MB of free space available on the boot partition (mounted at /boot).

Preparing an RHEL 7 For The Upgrade

1. Make sure you are using RHEL 7.6 version, if you’re using RHEL version older than RHEL 7.6, you need to update your RHEL system to RHEL 7.6 version using following yum command.

# yum update
Update RHEL 7 System

Update RHEL 7 System

Note: Make sure your RHEL 7 system has been successfully registered using the Red Hat Subscription Manager to enable system repositories and perform a full system update.

2. Make sure your RHEL 7 system has the Red Hat Enterprise Linux Server subscription attached. If not, run the following commands to automatically assign the subscription to the system and verify the subscription.

# subscription-manager attach --auto
# subscription-manager list --installed
Check RHEL Server Subscription

Check RHEL Server Subscription

3. Now set the RHEL 7.6 version as a beginning point for the upgrade using the following command.

# subscription-manager release --set 7.6
Set RHEL Release Upgrade

Set RHEL Release Upgrade

4. If you have used yum-plugin-versionlock plug-in to lock packages to a specific version, make sure to remove the lock by running the following command.

# yum versionlock clear

5. Update all software packages to the latest version and reboot the system.

# yum update
# reboot

6. Once system booted, make sure to enable the Extras repository for software package dependencies.

# subscription-manager repos --enable rhel-7-server-extras-rpms
Enable Extras Repository on RHEL

Enable Extras Repository on RHEL

7. Install the Leapp utility.

# yum install leapp
Install Leapp Tool in RHEL

Install Leapp Tool in RHEL

8. Now download additional required data files, which is required by the Leapp utility for a successful upgrade from RHEL 7 to RHEL 8 and place them in the /etc/leapp/files/ directory.

# cd /etc/leapp/files/ 
# wget
# tar -xf leapp-data3.tar.gz 
# rm leapp-data3.tar.gz
Download Files for Leapp

Download Files for Leapp

9. Make sure to take a full RHEL 7.6 system backup, before performing the upgrade using this article: backup and restore RHEL system with the dump/restore commands.

If the upgrade fails, you should able to get your system to the pre-upgrade state if you follow the standard backup instructions provides in the above article.

Upgrading from RHEL 7 TO RHEL 8

10. Now start the RHEL 7 system upgrade process using the following command.

# leapp upgrade
Leapp RHEL Upgrade

Leapp RHEL Upgrade

Once you run the upgrade process, the Leapp utility gathers data about your system, tests the upgradability, and creates a pre-upgrade report in the /var/log/leapp/leapp-report.txt file.

If the system is upgradable, Leapp downloads required data and create an RPM transaction for the upgrade.

If the system is not upgradeable, Leapp closes the upgrade operation and creates a record explaining the issue and a solution in the /var/log/leapp/leapp-report.txt file.

11. Once upgrades finish, manually reboot the system.

# reboot

At this stage, the system boots into an RHEL 8-based initial RAM disk image, initramfs. Leapp upgrades all software packages and automatically reboots to the RHEL 8 system.

RHEL Upgrade Process

RHEL Upgrade Process

12. Now Log in to the RHEL 8 system and change the SELinux mode to enforcing.

# setenforce 1
Set SELinux to Enforcing in RHEL 8

Set SELinux to Enforcing in RHEL 8

13. Enable the firewall.

# systemctl start firewalld
# systemctl enable firewalld

For more information, see how to configure firewall using firewalld.

Verifying RHEL 8 Upgrade

14. After the upgrade completes, verify that the current OS version is Red Hat Enterprise Linux 8.

# cat /etc/redhat-release

Red Hat Enterprise Linux release 8.0 (Ootpa)
Check RHEL 8 Release

Check RHEL 8 Release

15. Check the OS kernel version of Red Hat Enterprise Linux 8.

# uname -r

Check RHEL 8 Kernel Version

Check RHEL 8 Kernel Version

16. Verify that the correct Red Hat Enterprise Linux 8 is installed.

# subscription-manager list --installed
Check RHEL Installed Subscription

Check RHEL Installed Subscription

17. Optionally, set the hostname in Red Hat Enterprise Linux 8 using hostnamectl command.

# hostnamectl set-hostname tecmint-rhel8
# hostnamectl
Set Hostname in RHEL 8

Set Hostname in RHEL 8

18. Finally, verify that network services are functional by connecting to a Red Hat Enterprise Linux 8 server using SSH.

# ssh [email protected]
# hostnamectl


If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

11 Responses

  1. kazim says:

    Hello Ravi,

    I am facing below error while upgrading:

    [[email protected] ~]# uname -r
    [[email protected] ~]# cat /etc/redhat-release
    Red Hat Enterprise Linux Server release 7.8 (Maipo)
    [[email protected] ~]# leapp upgrade
    Loaded plugins: product-id, subscription-manager


    2020-03-11 04:36:34.193717 [ERROR] Actor: verify_check_results Message: Unsupported OS version

    [[email protected] ~]#


  2. Nils says:

    You should do the “subscription-manager release –set 7.6” as the first command, otherwise, yum update will update the system to RHEL 7.7.

  3. Rajesh says:

    Can i upgrade my Cent-os 7.7 to 8?



    I am getting below error after running the following command.

    # yum install leapp


    Error downloading packages:
      sos-3.7-6.el7_7.noarch: [Errno 256] No more mirrors to try.
      python-jinja2-2.7.2-4.el7.noarch: [Errno 256] No more mirrors to try.
      libsolv-0.6.34-4.el7.x86_64: [Errno 256] No more mirrors to try.
      libreport-filesystem-2.1.11-43.el7.x86_64: [Errno 256] No more mirrors to try.
  5. KARTHIKEYAN V says:

    Can we upgrade from RHEL 7.7 to 8 ? is it possible?

  6. Sundar says:


    While upgrading rhel from 7 to 8, I am getting below error. kindly help on this.

    Process Process-128:
    Traceback (most recent call last):
    File “/usr/lib64/python2.7/multiprocessing/”, line 258, in _bootstrap
    File “/usr/lib64/python2.7/multiprocessing/”, line 114, in run
    self._target(*self._args, **self._kwargs)
    File “/usr/lib/python2.7/site-packages/leapp/repository/”, line 59, in _do_run
    target_actor(logger=logger, messaging=messaging).run(*args, **kwargs)
    File “/usr/lib/python2.7/site-packages/leapp/actors/”, line 299, in run
    File “/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/addupgradebootentry/”, line 24, in process
    File “/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/addupgradebootentry/libraries/”, line 20, in add_boot_entry
    ‘–args=”{DEBUG} enforcing=0 rd.plymouth=0 plymouth.enable=0″‘.format(DEBUG=debug)
    File “/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/”, line 147, in run
    CalledProcessError: A Leapp Command Error occurred.

    Actor add_upgrade_boot_entry unexpectedly terminated with exit code: 1 – Please check the above details

  7. HJWaggoner says:

    Very well, seems to have hit every point but one. What happens if the install fails at step 10 ??

    • Ravi Saive says:


      I am 100% sure that the upgrade won’t fail, as me personally upgraded my two RHEL 7.x server to RHEL 8 and upgrades went smoothly without any issues..

  8. Shahajahan Tamboli says:

    Really Appreciate. )

    Its helped me a lot to upgrade RHEL 7 to 8.

    Thank you !!

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.