Step-by-step instructions for migrating from CentOS 8 to Rocky Linux¶
Step 1. Backup¶
Back up the server or important directories on the server.
Step 2: Verification of version's match¶
Before running the migration script, you should check the version of the operating system. CentOS must be at least 8.3. Otherwise, you need to register the addresses of mirrors with packages for updating, as indicated in the Step 3 paragraph , and run the command
CentOS images can be downloaded at the link. The system will be upgraded to CentOS Linux release 8.5.2111.
Step 3. Adding mirrors¶
You need to add mirrors to CentOS 8 using the following commands:
sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
Step 4. Download the script for migration:¶
cd /tmp
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
Step 5. Grant execution rights for the script:¶
Step 6. Execute a script starting the downloading and installing packages:¶
Step 7: Completion of the installation and reboot¶
In case of successful installation, the following message will appear:
After the installation is complete, you should reboot the system with the command reboot
.
In case of successful migration, Rocky Linux will be present in the list at the system boot time and kernel selection:
Step 8. Finding errors¶
After rebooting the system, you need to check for errors, as well as the name and version of the system:
cat /etc/redhat-release
– check if we have switched to RockyLinux for sure;dmesg
- check for hardware errors;journalctl
- errors in the system.
Step 9. Verification of the services' operation¶
If you're migrating a GUI system, you might have problems during the migration from CentOS to Rocky Linux. While executing the migration script, there may be problems with packages when the system is not migrated to RockyLinux. This will corrupt old CentOS packages. When you try to check the system version with the commands described below:
The following message will be displayed:
A similar message will be received while trying to execute commands:
The solution of this problem is a partially rollback to the CentOS system by installing packages from the archive mirror vault.. It is necessary to download the packages of the version that was previously installed on the system (see Step 2) CentOS version 8.5.2111.
Run a sequence of commands:
cd /tmp
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.5-1.2111.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm
wget https://vault.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-3.el8.noarch.rpm
rpm -ivh ./centos-gpg-keys-8-3.el8.noarch.rpm --force
rpm -ivh ./centos-linux-release-8.5-1.2111.el8.noarch.rpm ./centos-linux-repos-8-3.el8.noarch.rpm --force
Before executing the migration script, you must pre-install all dependencies. For example, a list of 6 problem packages:
Error: Check discovered 6 problem(s)
anaconda-gui-33.16.5.6-1.el8.x86_64 has missing requires of system-logos
firefox-91.4.0-1.el8_5.x86_64 has missing requires of redhat-indexhtml
gdm-1:40.0-15.el8.x86_64 has missing requires of system-logos
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-backgrounds
gnome-session-3.28.1-13.el8.x86_64 has missing requires of system-logos
plymouth-graphics-libs-0.9.4-10.20200615git1e36e30.el8.x86_64 has missing requires of system-logos
To solve this problem, you need to install 3 packages:
After following these steps to resolve problem with dependencies, you need to repeat the migration steps from the Step 6.