Tutorials

This is How to migrate from CentOS 8 to Rocky Linux

What is Rocky Linux?

Rocky Linux is an open-source operating system and one of the strongest replacement candidates for CentOS 8. It is a 100% binary-compatible release using the Red Hat Enterprise Linux (RHEL). Let us see how to migrate CentOS 8 Linux live server to Rocky Linux 8 using a shell script provided by the Rocky Linux project.

Step 1 – Backup CentOS 8

I started the migration process with backup. I do have nightly backups, but before upgrading, I made a snapshot to revert back when something goes wrong. In other words, keep verified backups.

Step 2 – Installing all updates on CentOS 8

Then I log in using the ssh command:
ssh [email protected]
Now, all we have to do is use the dnf command to apply all pending updates:
sudo dnf update
Finally, reboot the Linux box using the shutdown command or reboot command:
sudo reboot
Let us verify CentOS Linux 8 version using the cat command or more command/less command:
more /etc/centos-release
How to migrate from CentOS 8 to Rocky Linux (conversion)

Step 3 – Installing git client on CentOS 8

We need git to install the migration script. Is git installed on the server? Let us find out. Execute the type command:
type -a git
Let us search for the git package, Execute:
dnf list git
dnf search git
dnf info git

Now, install git on your server with the help of the dnf utility, Execute:
sudo dnf install git
type -a git

Installing git on CentOS 8 Linux for migration

 

Clone the repo to install migration tool called rocky-tool

Finally, we need to clone the rocky-tools repo with the help of the git command:
cd /tmp/
git clone https://github.com/rocky-linux/rocky-tools.git

Migrating To Rocky Linux with migrate2rocky.sh

Step 4 – Migrating from CentOS 8 to Rocky Linux

  1. Change the directory using cd command where rocky-tools cloned:
    cd /tmp/rocky-tools/migrate2rocky
  2. Set up executable permissions using the chmod command:
    chmod -v +x migrate2rocky.sh
  3. Start the migration from CentOS 8 to Rocky Linux by typing the migrate2rocky.sh command:
    ./migrate2rocky.sh -r
    Click to enlarge

    Click to enlarge

  4. Follow on-screen instructions and wait for some time to finish the migration job. At the end you should see:

    Done, please reboot your system.
    A log of this installation can be found at /var/log/migrate2rocky.log

  5. And we are done. Let us reboot the box:
    sudo systemctl reboot

Step 5 – Verification

First, verify the version to make sure we are now switched to Rocky Linux using the cat command cat /etc/rockylinux-release
cat /etc/centos-release
hostnamectl

Let us verify that processes are running using the ss command and ps command:
ss -tulpn | grep :80
ss -tulpn | grep :3306
# use the egrep command to filter out PHP, MySQL and Nginx process #
ps aux | grep -E 'php|nginx|mysql'
ps aux | grep php-fpm

Make sure no errors were reported by the system:
dmesg
dmesg | grep -Ei 'warn|error|notice|fail'
tail -f /var/log/my_app_1/log_file
tail -f /var/log/nginx/php_log

Rocky Linux 8 Verification

Summing up

And that is all. It was easy to migrate from CentOS 8 Linux or Red Hat Enterprise Linux 8 to Rocky Linux 8. Do check the Rocky Linux project website and Github link.