Skip to content

Download and install the script

curl -s -4 https://raw.githubusercontent.com/cpanel/elevate/release/elevate-cpanel -o /usr/local/cpanel/scripts/elevate-cpanel

How to upgrade from CentOS 7 to AlmaLinux 8 or CloudLinux 7 to CloudLinux 8 with cPanel ELevate

Elevate process and steps

How to upgrade from CentOS 7 to AlmaLinux 8 or CloudLinux 7 to CloudLinux 8 with cPanel ELevate

  1. Transferring the accounts without downtime and disabling the live transfer to avoid suspension of the old server accounts during transfer

    How to disable the Live Transfer feature in Transfer Tool

    Transfer Tool

    How to Move All cPanel Accounts from One Server to Another

    How To Manually Transfer System Configuration Using The cpconftool Script?

    How to manually transfer all accounts using pkgacct and restorepkg?

  2. License transferring process due to IP change on the new server How to use "IP Migration Wizard -> Will update the IP for the accounts and domains on the new server

    How do I transfer my license to another IP address?

    Transfer Tool — Only Transfer IP Address

Post elevate El8 to EL9

Chapter 7. Performing post-upgrade tasks on the RHEL 9 system After the in-place upgrade, clean up your RHEL 9 system by remove unneeded packages, disable incompatible repositories, and update the rescue kernel and initial RAM disk.

7.1. Performing post-upgrade tasks

This procedure lists major tasks recommended to perform after an in-place upgrade to RHEL 9.

Prerequisites

The system has been upgraded following the steps described in Performing the upgrade and you have been able to log in to RHEL 9.

The status of the in-place upgrade has been verified following the steps described in Verifying the post-upgrade state. Procedure

After performing the upgrade, complete the following tasks:

Remove any remaining Leapp packages from the exclude list in the /etc/dnf/dnf.conf configuration file, including the snactor package, which is a tool for upgrade extension development. During the in-place upgrade, Leapp packages that were installed with the Leapp utility are automatically added to the exclude list to prevent critical files from being removed or updated. After the in-place upgrade, these Leapp packages must be removed from the exclude list before they can be removed from the system.

To manually remove packages from the exclude list, edit the /etc/dnf/dnf.conf configuration file and remove the desired Leapp packages from the exclude list. To remove all packages from the exclude list:

dnf config-manager --save --setopt exclude=''

Remove remaining RHEL 8 packages, including remaining Leapp packages.

Remove the old kernel packages from the RHEL 9 system. For more information on removing kernel packages, see the Red Hat Knowledgebase solution What is the proper method to remove old kernels from a Red Hat Enterprise Linux system? Locate remaining RHEL 8 packages:

rpm -qa | grep -e '\.el[78]' | grep -vE '^(gpg-pubkey|libmodulemd|katello-ca-consumer)' | sort
Copy to Clipboard

Toggle word wrap Remove remaining RHEL 8 packages from your RHEL 9 system. To ensure that RPM dependencies are maintained, use DNF when performing this action. Review the transaction before accepting to ensure no packages are unintentionally removed.

For example:

dnf remove $(rpm -qa | grep \.el[78] | grep -vE 'gpg-pubkey|libmodulemd|katello-ca-consumer')
Copy to Clipboard

Remove remaining Leapp dependency packages:

dnf remove leapp-deps-el9 leapp-repository-deps-el9

Optional: Remove all remaining upgrade-related data from the system:

rm -rf /var/log/leapp /root/tmp_leapp_py3 /var/lib/leapp

Important Removing this data might limit Red Hat Support’s ability to investigate and troubleshoot post-upgrade problems.

Disable DNF repositories whose packages are not RHEL 9-compatible. Repositories managed by RHSM are handled automatically. To disable these repositories:

dnf config-manager --set-disabled <repository_id>

Replace repository_id with the repository ID.

Replace the old rescue kernel and initial RAM disk with the current kernel and disk:

Remove the existing rescue kernel and initial RAM disk:

rm /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* 

Reinstall the rescue kernel and related initial RAM disk:

/usr/lib/kernel/install.d/51-dracut-rescue.install add "$(uname -r)" /boot "/boot/vmlinuz-$(uname -r)"

If your system is on the IBM Z architecture, update the zipl boot loader:

zipl

. Optional: Check existing configuration files:

Review, remediate, and then remove the rpmnew, rpmsave, and leappsave files. Note that rpmsave and leappsave are equivalent and can be handled similarly. For more information, see What are rpmnew & rpmsave files? Remove configuration files for RHEL 8 DNF modules from the /etc/dnf/modules.d/ directory that are no longer valid. Note that these files have no effect on the system when related DNF modules do not exist. Re-evaluate and re-apply your security policies. Especially, change the SELinux mode to enforcing. For details, see Applying security policies. Verification

Verify that the previously removed rescue kernel and rescue initial RAM disk files have been created for the current kernel:

ls /boot/vmlinuz-*rescue* /boot/initramfs-*rescue* 
lsinitrd /boot/initramfs-*rescue*.img | grep -qm1 "$(uname -r)/kernel/" && echo "OK" || echo "FAIL"

Verify the rescue boot entry refers to the existing rescue files. See the grubby output:

grubby --info /boot/vmlinuz-*rescue*

Review the grubby output and verify that no RHEL 8 boot entries are configured:

grubby --info ALL

Verify that no files related to previous RHEL are present in the /boot/loader/entries file:

grep -r ".el8" "/boot/loader/entries/" || echo "Everything seems ok."

Almalinux 8 to 9 issue

Migrating custom network scripts to NetworkManager dispatcher scripts

Environment

Red Hat Enterprise Linux 8 before an upgrade to RHEL 9

Issue

RHEL 9 does not support the legacy network-scripts package that was deprecated in RHEL 8

Resolution

Before you can upgrade to RHEL 9, migrate your custom network scripts to NetworkManager dispatcher scripts.

If you cannot migrate to NetworkManager dispatcher scripts, use this documentation as a workaround: You can move the custom network scripts and write a NetworkManager dispatcher script that executes these existing custom scripts.

The example script in this procedure runs the /opt/network-scripts/ifup-local, /opt/network-scripts/ifup-pre-local, /opt/network-scripts/ifdown-local, and /opt/network-scripts/ifdown-pre-local scripts in an emulated environment.

Procedure:

1) Create the /opt/network-scripts/ directory:

mkdir /opt/network-scripts/

2) Move your custom network scripts to /opt/network-scripts/:

mv /sbin/if*-local /opt/network-scripts/

3) Create the /etc/NetworkManager/dispatcher.d/20-if-local file with the following content:

[

#!/bin/bash

test -n "$DEVICE_IFACE" || exit 0

run() {
    test -x "$1" || exit 0
    "$1" "$DEVICE_IFACE"
}                

case "$2" in 
    "up")   
        run /opt/network-scripts/ifup-local
        ;;      
    "pre-up")
        run /opt/network-scripts/ifup-pre-local
        ;;      
    "down") 
        run /opt/network-scripts/ifdown-local
        ;;      
    "pre-down")
        run /opt/network-scripts/ifdown-pre-local
        ;;      
esac

4) Set the permissions on the /etc/NetworkManager/dispatcher.d/20-if-local script:

Raw

# chown root:root /etc/NetworkManager/dispatcher.d/20-if-local
# chmod +x /etc/NetworkManager/dispatcher.d/20-if-local
# restorecon /etc/NetworkManager/dispatcher.d/20-if-local

5) If you require pre-up or pre-down events, create a symbolic link in the corresponding dispatcher directory:

Raw

# ln -s ../20-if-local /etc/NetworkManager/dispatcher.d/pre-up.d/
# ln -s ../20-if-local /etc/NetworkManager/dispatcher.d/pre-down.d/

6) Verify that the dispatcher script runs the custom scripts and that your network settings from the scripts were applied.

7) Proceed with the upgrade in Leapp.

Root Cause

The network-scripts package has been removed in RHEL 9. This package was deprecated in RHEL 8.