Transition from CentOS to Rocky

rpm -e --nodeps centos-gpg-keys centos-linux-release centos-linux-repos
rpm -ivh \ \ \
dnf distro-sync -y
1 Like


I had one additional command for the transition to work, possibly because I’ve cpanel (dns-only) installed. Mainly use Centos for cpanel, so wanted to test if it works on a VM. Can’t install straight on to rocky, but converting cpanel seems to be working fine. I suspect my additional command probably isn’t recommended, but I seem to have astable system. Addtion is: rpm -e --nodeps --justdb glibc-static-2.28-127.el8.x86_64 and full list of commands is:

rpm -e --nodeps centos-gpg-keys centos-linux-release centos-linux-repos
rpm -ivh \ \ \
rpm -e --nodeps --justdb glibc-static-2.28-127.el8.x86_64
dnf distro-sync -y

Reboot and all is good.

Thanks Tom.


Good morning! Thanks for the great suggestions. I created a fully patched CentOS 8 VM on our vSphere 6.7U3 test cluster. I ran rossnick’s script and everything looked great. However, on boot, I’m thrown into grub and the VM won’t boot. If I force the VM into the EFI Boot Manager, I see an entry for Rocky Linux which points to (HD1,GPT,4AB…000)/\EFI\tocky\shimx64.efi. However, when I select that option, I just get the grub prompt. Any ideas? BTW, the root partition is LVM. Thanks for any advice!


if you are just getting the grub-prompt, reinstalling grub from rescue mode from install iso/dvd; should fix:

Thanks Tom.

I have Centos7. I am trying to use Rocky Linux as a repository.
I have changed the url to point to the new location. A 1 line command . (below)
" sed -i ‘s+/[$]basearch/+/’ /etc/yum.repos.d/CentOS-Base.repo "

Although i can access the new link in a web browser. “yum update” will not work.
I get 5 points of advice in the error message & 10 trys by i think the “curl” command.

------------------------------------error message-start--------------------------------------------------------- [Errno 14] curl#7 - “Failed to connect to Network is unreachable”

…Ten times repeated …

------------------------------------error message-end---------------------------------------------------------

Is there a fix to run the “yum update” command?

All help apreciated :slight_smile:

I just read in this thread that CTOS7 is still supported …hmmmmm my Centos7 is not updating … I just replied to a post & i got the exact same error with the old centos url & as i did to the new url …thus

… so now i haven’t a clue …error message …
"[Errno 14] curl#7 - “Failed to connect to Network is unreachable”
-bash: No such file or directory

any help much needed

thx Roger

UPDATE …There was a routing problem …a Reboot fixed it.

although with the new (rocky) url i get this …

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

The GPG keys listed for the “CentOS-7 - Updates” repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

Failing package is: 32:bind-export-libs-9.11.4-26.P2.el7_9.5.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

FWIW …original error …

" [Errno 14] curl#7 - “Failed to connect to 2402:1b80:0:2:0:6:3956:6: Network is unreachable”

THANKS, Tom!!! Rebuilding the grub.cfg file worked like a charm.

1 Like

With the 8.4 GA release this worked for me.
From Centos 8.4 to Rocky 8.4 GA.

dnf -y update
rpm -e --nodeps centos-gpg-keys centos-linux-release centos-linux-repos
rpm -ivh
dnf distro-sync -y

Tested with a VM working as a webserver.
After migration webserver working correctly.

Check out the release notes for our release which note our conversion script. Happy hacking everyone!

Tested the script from the release notes .
Until now all VM’s migrated succesfully to the GA release.

Thank you

1 Like

With RL8.3 on EFI machines, one needed to call grub2-mkconfig as the last step of the migration, before rebooting. See: [SOLVED] Grub prompt after CentOS 8 -> RL8 migration - #2 by knight-of-ni

Can anyone confirm whether this has been fixed in RL8.4?
For now, I’ll keep issuing grub2-mkconfig --output=/boot/efi/EFI/rocky/grub.cfg just in case.

Hi everyone,

I was going through the discussion about how to transit from CentOS 8 to Rocky and i believe it’s an amazing job from the community. I know for now the project is mainly focused on the transition from CentOS 8 due to the time limiting but for my case i wanna transit from CentOS 7 directly to Rocky. I’m still not able to install my CentOS7-repos on Rocky through dnf/yum in that case.

The following errors arised as i was trying to install packages from my own CentOS7 repository mirrors:

Problem 1: cannot install both linux-firmware-20160830-49.git7534e19.el7.noarch and linux-firmware-20201218-102.git05789708.el8.noarch

  • cannot install the best update candidate for package libertas-usb8388-firmware-2:20201218-102.git05789708.el8.noarch
  • problem with installed package linux-firmware-20201218-102.git05789708.el8.noarch
    Problem 2: package libidn2-2.3.1-1.el7.x86_64 requires, but none of the providers can be installed
  • cannot install both libunistring-0.9.3-9.el7.x86_64 and libunistring-0.9.9-3.el8.x86_64
  • cannot install the best update candidate for package libidn2-2.2.0-1.el8.x86_64
  • problem with installed package libunistring-0.9.9-3.el8.x86_64

Any ideas/solutions/suggestions will be much appreciated. Thank you in advance.

hello @ magnas, your best bet is to upgrade your centos07 to 08 and then migrate to rocky linux

1 Like

I have a CentOS 8.4 system which is fully up-to-date. I have run the “” script as well as running joostfra’s process with the “grub2-mkconfig --output=/boot/efi/EFI/rocky/grub.cfg” command before the reboot. I end up getting stuck at the dracut prompt because the Volume Group cannot be found.

I successfully migrated a Centos 8.4 Stream system to Centos 8.4 system, then to a Rocky 8.4 system.

From memory, the steps were as follows:

Convert Centos stream to Centos

sudo dnf remove centos-release-stream


sudo rpm -e --nodeps centos-stream-release centos-stream-repos

sudo rpm -ivh centos-linux-release-8.4-1.2105.el8.noarch.rpm centos-linux-repos-8-2.el8.noarch.rpm

sudo dnf distro-sync --allowerasing

sudo reboot

Remove old repos

e.g. sudo rm yum.repos.d/CentOS-Linux-ContinuousRelease.repo etc etc

Then run the migrate to Rocky

e.g. sudo ./ -V

sudo reboot

I too successfully transitioned a machine from Centos Stream 8.2 → CentOS 8.4 → Rocky 8.4.

The only thing I would add is that, upon installing centos-linux-repos, any additional centos repos you were using previously, such as powertools, go back to their default state, which is disabled.

This caused distro-sync to fail in my case because the packages I am using require powertools repo. Once I realized what happened and turned powertools back on, the upgrade went smoothly.

(Relayed from @nazunalika) This is expected behavior. Red Hat changed the names of the repos in 8.2. We can’t fix the “CentOS” Stream → CentOS portion of such a conversion, but perhaps some logic can be implemented to take the repo name change into account in for direct CentOS → Rocky conversions.

Completely agree. My previous statement was not intended to imply something should be changed on the rocky linux side. Rather, it is simply a heads up to anyone doing a multi-step, unsupported upgrade such as the one Iainwhite and I took.

1 Like