How to Upgrade CentOS 7 to Rocky Linux 8

0

Yes, you have read it right. You will now be able to upgrade CentOS 7 to Rocky Linux 8. Since CentOS 8 is dead, there is no point migrating CentOS 7 to CentOS 8.

Now, not only you can upgrade CentOS 7 to Rocky Linux 8, but you can also upgrade CentOS 7 to other EL 8 derivatives such as AlmaLinux, CentOS Stream, Oracle, and Rocky Linux.

Thanks to the ELevate, an initiative and a tool that enables migration between major versions of RHEL derivatives.

Here, we will see how to upgrade CentOS 7 to Rocky Linux 8.

Take System Backup

Before you proceed, I highly recommend you take a system backup or snapshots for recovery in case of issues after the upgrade. In addition to this, you may try this upgrade procedure on a virtual machine or test machine before performing it on a live server.

Upgrade CentOS 7 to Rocky Linux 8

Update CentOS 7

First, bring up your system to the latest release of CentOS 7 (7.9.2009).

yum update -y

Then, reboot the system to complete the update.

reboot

Check the OS release post the reboot.

cat /etc/redhat-release

Output:

CentOS Linux release 7.9.2009 (Core)

Install Elevate

First, install the Elevate release package to configure the project repo and install the GPG key.

yum install -y https://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

Then, install the leapp packages and migration data for Rocky Linux.

yum install -y leapp-upgrade leapp-data-rocky

Perform Pre-check

Initiate the pre-upgrade check with the below command. This check will determine the possibility of an OS upgrade and report potential problems you will need to fix before upgrading.

NOTE: No packages will be installed at the pre-upgrade check phase.

leapp preupgrade

In the end, you will get a summary report with potential issues something like below.

.    .    .
.    .    .

============================================================
                     UPGRADE INHIBITED
============================================================
Upgrade has been inhibited due to the following problems:
    1. Inhibitor: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed.
    2. Inhibitor: Possible problems with remote login using root account
    3. Inhibitor: Missing required answers in the answer file
Consult the pre-upgrade report for details and possible remediation.
============================================================
                     UPGRADE INHIBITED
============================================================

Debug output written to /var/log/leapp/leapp-preupgrade.log
============================================================
                           REPORT
============================================================
A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt
============================================================
                       END OF REPORT
============================================================
Answerfile has been generated at /var/log/leapp/answerfile

In addition, you can get more information about the reported upgrade blockers (Risk Factor: high (inhibitor) and recommended solutions in the /var/log/leapp/leapp-report.txt file. Apart from the blockers, the file will also contain other RISKs ranging from info to high, which you can review and proceed further.

For the above three problems (you will get by default), run the below commands to fix them and proceed with the upgrade.

rmmod pata_acpi
echo PermitRootLogin yes | tee -a /etc/ssh/sshd_config
leapp answer --section remove_pam_pkcs11_module_check.confirm=True

Upgrade to Rocky Linux 8

Now, start an upgrade with the below command. This upgrade will take some time to complete.

leapp upgrade

Output:

.    .    .
.    .    .
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
==> Processing phase `InterimPreparation`
====> * efi_interim_fix
        Adjust EFI boot entry for first reboot
====> * upgrade_initramfs_generator
        Creates the upgrade initramfs
====> * 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
============================================================
A report has been generated at /var/log/leapp/leapp-report.json
A report has been generated at /var/log/leapp/leapp-report.txt
============================================================
                       END OF REPORT
============================================================
Answerfile has been generated at /var/log/leapp/answerfile

After the successful upgrade, reboot the system.

reboot

The system will now boot into the ELevate-Upgrade-Initramfs kernel and continue the upgrade. If you want, you can also take the server console and monitor the upgrade.

Elevate Upgrade GRUB Menu
Elevate Upgrade GRUB Menu
CentOS 7 to Rocky Linux 8 Migration In Progress
CentOS 7 to Rocky Linux 8 Migration In Progress

Post Migration Checkouts

After the migration is completed, verify the current OS version.

cat /etc/redhat-release

Output:

Rocky Linux release 8.4 (Green Obsidian)

Also, check if the server still has the remains of CentOS and EL 7 packages.

rpm -qa | grep centos
rpm -qf | grep el7

Conclusion

That’s All. I hope you have successfully upgraded your CentOS 7 system to Rocky Linux 8. Share your feedback in the comments section.

You might also like