Transition from CentOS to Rocky

C7 for longevity, C8 for ease of transition. I’m aware that this is the Rocky forum, but there is also Springdale and Alma if you absolutely cannot wait for Rocky and need to avoid any potential disruption later in the year.

1 Like

I did it with thoses instructions from @esw and it worked flawlessly. Switch a test vm from C8 to RL8RC1 and it worked like a charm

rpm -e --nodeps centos-gpg-keys centos-linux-release centos-linux-repos
rpm -ivh \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-release-8.3-11.el8.noarch.rpm \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-repos-8.3-11.el8.noarch.rpm \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-gpg-keys-8.3-11.el8.noarch.rpm
dnf distro-sync -y
2 Likes

Hi,

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 \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-release-8.3-11.el8.noarch.rpm \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-repos-8.3-11.el8.noarch.rpm \
  https://download.rockylinux.org/pub/rocky/8.3/BaseOS/x86_64/os/Packages/rocky-gpg-keys-8.3-11.el8.noarch.rpm
rpm -e --nodeps --justdb glibc-static-2.28-127.el8.x86_64
dnf distro-sync -y

Reboot and all is good.

Thanks Tom.

2 Likes

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!

Hi,

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+/mirror.centos.org/centos/7/updates/[$]basearch/+/springdale.princeton.edu/data/springdale/7/x86_64/os/Updates/+’ /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---------------------------------------------------------

http://springdale.princeton.edu/data/springdale/7/x86_64/os/Updates/repodata/repomd.xml: [Errno 14] curl#7 - “Failed to connect to 128.112.128.21: 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
" http://springdale.princeton.edu/data/springdale/7/x86_64/os/Updates/repodata/repomd.xml"

… so now i haven’t a clue …error message …
"[Errno 14] curl#7 - “Failed to connect to 128.112.128.21: Network is unreachable”
-bash: http://springdale.princeton.edu/data/springdale/7/x86_64/os/Updates/repodata/repomd.xml:: 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 …

"http://mirror.centos.org/centos/7/updates/x86_64/repodata/repomd.xml: [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
reboot
rpm -e --nodeps centos-gpg-keys centos-linux-release centos-linux-repos
rpm -ivh
https://download.rockylinux.org/pub/rocky/8.4/BaseOS/x86_64/os/Packages/rocky-release-8.4-26.el8.noarch.rpm
https://download.rockylinux.org/pub/rocky/8.4/BaseOS/x86_64/os/Packages/rocky-repos-8.4-26.el8.noarch.rpm
https://download.rockylinux.org/pub/rocky/8.4/BaseOS/x86_64/os/Packages/rocky-gpg-keys-8.4-26.el8.noarch.rpm
dnf distro-sync -y
reboot

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 migrate2rocky.sh 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:

Error:
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 libunistring.so.0()(64bit), 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 “migrate2rocky.sh” 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

wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.4-1.2105.el8.noarch.rpm
wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm

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 ./migrate2rocky.sh -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 https://github.com/rocky-linux/rocky-tools/blob/main/migrate2rocky/migrate2rocky.sh for direct CentOS → Rocky conversions.