Upgrading from CentOS/RHEL 7 to CentOS/RHEL 8 using Leapp

The Leapp utility is a framework for updating and upgrading operating systems as well as applications. The utility’s component packages enable the creation of different workflows into profiles for updating software.

Currently, the Leapp utility is used to upgrade the operating systems only, specifically, from the current CentOS/RHEL 7 release to the current CentOS/RHEL 8 version. The procedures in this document do not apply to and are unsupported on any other operating systems or versions. The Leapp utility also supports both the x86_64 and ARM (aarch64) platforms when upgrading instances of CentOS/RHEL/Fedora.

Leapp operations consist of two phases:

  • a preupgrade phase that runs checks on the system to determine if the software can be upgraded.
  • The second phase is the actual upgrade itself, whose process is based on configuration files that map packages between previous and current versions of the software.

Installing Leapp

Leapp is currently installable from RPM packages prepared for Fedora 26, 27, and 28, CentOS 7, and Red Hat Enterprise Linux 7. If you are using a different distribution, or you want to build and install Leapp on your own, follow these instructions.

Fedora

Enable the Leapp Copr repository. Then, install Leapp.

$ sudo dnf install -y dnf-plugins-core
$ sudo dnf copr enable -y @leapp/leapp-devel
$ sudo dnf install -y leapp

CentOS 7

Add the Leapp Copr repository and install Leapp.

$ sudo yum install -y yum-plugins-copr
$ sudo yum copr enable -y @leapp/leapp-devel
$ sudo yum install -y leapp

Red Hat Enterprise Linux 7

Add the Leapp Copr repository and install Leapp.

$ sudo curl https://copr.fedorainfracloud.org/coprs/g/leapp/leapp-devel/repo/epel-7/group_leapp-leapp-devel-epel-7.repo -o /etc/yum.repos.d/group_leapp-leapp-devel-epel-7.repo
$ sudo yum install -y leapp

The leapp tool

The leapp tool is an end-user application designed to run specific workflows. To run custom workflows or create actors, use the snactor utility. We are currently providing a workflow for upgrading systems:

# leapp upgrade

Some phases of an upgrade workflow will reboot the system, and you will need to resume the leapp tool.

# leapp upgrade --resume
Related Post