Migrate2rocky script not working

Hi, when I want to migrate my centos 8 to rockylinux, I used the script migrate2rocky.
And when i do ./migrate2rocky.sh -r, it worked fine at first until this:

[root@ksrkp2bf ~]# ./migrate2rocky.sh -r
migrate2rocky - Begin logging at 2023年05月02日 星期二 05时24分36秒.

Modular dependency problems:

 Problem 1: conflicting requests
  - nothing provides module(perl:5.26) needed by module perl-IO-Socket-SSL:2.066:8030020201222215140:1e4bbb35.x86_64
 Problem 2: conflicting requests
  - nothing provides module(perl:5.26) needed by module perl-libwww-perl:6.34:8030020201223164340:b967a9a2.x86_64

Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.

Determining repository names for CentOS Linux 8......

Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8  Rocky Linux 8
AppStream       appstream
base            baseos
epel-archive    extras

Getting system package names for CentOS Linux 8........Error: No Matches found

Can't get package that provides /etc/yum.repos.d/Centos-vault-8.5.2111.repo.

An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script will now exit to prevent possible damage.

 A log of this installation can be found at /var/log/migrate2rocky.log

may I ask how can I fix this?

OS: CentOS Linux 8 x86_64
Kernel: 5.16.10-1.el8.elrepo.x86_64

And Thank You.

I can see a few issues there, but most seem to be related to the fact that CentOS 8 (and it’s associated repositories) are no longer directly available. Migrate2rocky is supposed to deal with this, but as CentOS 8 has aged new package dependencies have emerged that can’t be satisfied by C8. I’m currently working on a solution to most of this.

It also appears that you have switched CentOS .repo file to use Centos-vault-8.5.2111.repo. This is likely due to an attempt to continue using CentOS 8 after it went EOL, but it is causing problems with migrate2rocky and migrate2rocky can’t figure out what package owns that file (since no package appears to own it). Migrate2rocky doesn’t support modifications to the base system repos to this extent.

Migrate2rocky also thinks that epel-archive is the extras repo. This is because migrate2rocky identifies the extras repo by excluding the epel repo and then looking for which repo contains the epel-release package (which is provided in extras). Since epel-archive is not epel it is not excluded and so migrate2rocky is finding epel-release in epel-archive instead.

Just due to the age of CentOS 8.5 there are increasing issues with migrate2rocky being able to migrate from CentOS 8 to Rocky Linux 8. These are issues that I need to find the time to address and fix.

Thanks for answering, may I ask is it possible that I can use m2r script on centos 7?


Alma Linux has released a utility called Elevate which claims to be able to migrate CentOS 7 to Rocky Linux 8, but that is not supported here.

Thanks, I’ll check it out