Transition from CentOS to Rocky

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
1 Like

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.

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