centos 到 rockylinux 迁移失败并破坏了所有操作系统版本检测以及 dnf 和 yum

centos 到 rockylinux 迁移失败并破坏了所有操作系统版本检测以及 dnf 和 yum

使用官方 DISTRIB GIVE 迁移脚本

migrate2rocky.sh -r

然后它失败了并且我无法回到centOS,因为distrib不再是版本化的。

我尝试在运行失败的迁移脚本后重建 dnf 基础(CentOS 8

它开始了,但后来失败了“无法检测发布版本(使用‘--releasever’指定发布版本)”

我看到 os-release 和 redhat-release 已清除””, 没有什么。

我必须尝试再次检测版本以运行 dnf makecache 和 dnf 更新来修复所有问题,但无法完成,请参见下文

发现第一个 dnf 错误

yum repolist list
Unable to detect release version (use '--releasever' to specify release version)

dnf的问题

dnf makecache
Unable to detect release version (use '--releasever' to specify release version)
Extra Packages for Enterprise Linux Modular $releasever - x86_64                                                                                              127 kB/s |  76 kB     00:00    
Errors during downloading metadata for repository 'epel-modular':
  - Status code: 404 for https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=x86_64&infra=$infra&content=$contentdir (IP: 2a05:d014:10:7803:f774:4d7c:e277:a457)
  - Status code: 404 for https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=x86_64&infra=$infra&content=$contentdir (IP: 2a05:d01c:c6a:cc01:269:da52:9ae1:43e6)
Error: Failed to download metadata for repo 'epel-modular': Cannot prepare internal mirrorlist: Status code: 404 for https://mirrors.fedoraproject.org/metalink?repo=epel-modular-$releasever&arch=x86_64&infra=$infra&content=$contentdir (IP: 2a05:d014:10:7803:f774:4d7c:e277:a457)

迁移过程如下:

wget https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
--2021-08-16 20:03:42--  https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
Résolution de raw.githubusercontent.com (raw.githubusercontent.com)… 185.199.110.133, 185.199.109.133, 185.199.108.133, ...
Connexion à raw.githubusercontent.com (raw.githubusercontent.com)|185.199.110.133|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 37406 (37K) [text/plain]
Sauvegarde en : « migrate2rocky.sh.2 »

migrate2rocky.sh.2                              100%[=====================================================================================================>]  36,53K  --.-KB/s    ds 0,01s   

2021-08-16 20:03:42 (2,83 MB/s) — « migrate2rocky.sh.2 » sauvegardé [37406/37406]
bash ./migrate2rocky.sh -r

目标 : 无需重新安装即可检索可用的 centOS8

答案1

这是我恢复 dnf/yum 和基本操作系统版本文件/变量所做的一切:

wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/dnf-4.4.2-11.el8.noarch.rpm
rpm -ivh ./dnf-4.4.2-11.el8.noarch.rpm  --force
dnf update

distrib 包管理仍然出现错误并且 dnf 仍然无法工作

所以我得到最低限度的包裹:

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
rpm -ivh ./centos-linux-release-8.4-1.2105.el8.noarch.rpm ./centos-linux-repos-8-2.el8.noarch.rpm   --force

无法安装它们,因为它需要 gpg 密钥,所以

wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm
rpm -ivh ./centos-gpg-keys-8-2.el8.noarch.rpm  --force

然后可以再次尝试安装主软件包

rpm -ivh ./centos-linux-release-8.4-1.2105.el8.noarch.rpm ./centos-linux-repos-8-2.el8.noarch.rpm   --force
dnf makecache
dnf update
rpm --initdb
dnf install epel-release -y # not sure this step was needed

然后我重新启动并恢复到完全正常工作的 CentOS-8。

注意:我再次尝试从其官方(发行版 rocky)git 运行 migrate2rocky.sh 脚本,它仍然失败

Running dnf update before we attempt the migration.
Last metadata expiration check: 0:00:47 ago on Mon Aug 16 20:44:42 2021.
Dependencies resolved.
Nothing to do.
Complete!
rpm: no packages given for erase

Could not remove packages from the rpm db: 

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

但现在它不再破坏任何东西了

然后我在rocky distrib的distrib script开发者git上开了一张票


好的,然后再次回来回答这里的最终解决方案

1648/1653): rocky-logos-84.5-8.el8.x86_64.rpm  8.2 MB/s | 328 kB     00:00    
(1649/1653): rocky-backgrounds-84.5-8.el8.noarc 2.3 MB/s | 330 kB     00:00    
(1650/1653): libsndfile-1.0.28-10.el8_4.1.i686. 2.9 MB/s | 217 kB     00:00    
(1651/1653): rpmfusion-nonfree-appstream-data-8 469 kB/s |  39 kB     00:00    
(1652/1653): libsndfile-1.0.28-10.el8_4.1.x86_6 8.9 MB/s | 192 kB     00:00    
(1653/1653): rpmfusion-free-appstream-data-8-1. 502 kB/s |  69 kB     00:00    
--------------------------------------------------------------------------------
Total                                            25 MB/s | 1.6 GB     01:04     
Running transaction check
Error: transaction check vs depsolve:
libdbusmenu(x86-32) = 16.04.0-4.el7 is needed by (installed) libdbusmenu-gtk2-16.04.0-4.el7.i686
To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.

Error during distro-sync.

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

这里似乎是特定的软件包依赖问题,所以我重建了一个工作的 Centos

[root@BSU ~]# rpm -ivh --nodeps  centos-linux-repos-8-2.el8.noarch.rpm --force
Verifying...                          ################################# [100%]
Préparation...                       ################################# [100%]
Mise à jour / installation...
   1:centos-linux-repos-8-2.el8       ################################# [100%]
[root@BSU ~]# rpm --force --nodeps -ivh     'http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-linux-release-8.3-1.2011.el8.noarch.rpm'     'http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm'     'http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm'  'http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-data-4.4.2-11.el8.noarch.rpm' 'http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-4.4.2-11.el8.noarch.rpm' 'http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-data-4.4.2-11.el8.noarch.rpm' 
Récupération de http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-linux-release-8.3-1.2011.el8.noarch.rpm
Récupération de http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-gpg-keys-8-2.el8.noarch.rpm
Récupération de http://mirror.centos.org/centos/8.3.2011/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm
Récupération de http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-data-4.4.2-11.el8.noarch.rpm
Récupération de http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-4.4.2-11.el8.noarch.rpm
Récupération de http://mirror.centos.org/centos/8.4.2105/BaseOS/x86_64/os/Packages/dnf-data-4.4.2-11.el8.noarch.rpm
attention : le paquet dnf-data-4.4.2-11.el8.noarch a déjà été rajouté, dnf-data-4.4.2-11.el8.noarch ignoré
Verifying...                          ################################# [100%]
Préparation...                       ################################# [100%]
Mise à jour / installation...
   1:centos-gpg-keys-1:8-2.el8        ################################# [ 20%]
   2:centos-linux-repos-8-2.el8       ################################# [ 40%]
   3:centos-linux-release-8.3-1.2011.e################################# [ 60%]
   4:dnf-4.4.2-11.el8                 ################################# [ 80%]
   5:dnf-data-4.4.2-11.el8            ################################# [100%]
[root@BSU ~]# dnf makecache 
CentOS Linux 8 - AppStream                                                                                                                                     14 MB/s | 8.8 MB     00:00    
CentOS Linux 8 - BaseOS                                                                                                                                        24 MB/s | 5.6 MB     00:00    
CentOS Linux 8 - Extras                                                                                                                                       8.2 kB/s |  10 kB     00:01    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                                        2.9 MB/s | 931 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                 19 MB/s |  10 MB     00:00    
RPM Fusion for EL 8 - Free - Updates                                                                                                                           20 kB/s | 3.7 kB     00:00    
RPM Fusion for EL 8 - Nonfree - Updates                                                                                                                        35 kB/s | 3.7 kB     00:00    
Cache des métadonnées créé.
[root@BSU ~]# dnf search libdbusmenu
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:36 le ven. 27 août 2021 11:51:18 CEST.
========================================================================= Nom correspond exactement à : libdbusmenu ==========================================================================
libdbusmenu.x86_64 : Library for passing menus over DBus
libdbusmenu.i686 : Library for passing menus over DBus
=============================================================================== Nom correspond à : libdbusmenu ===============================================================================
libdbusmenu-gtk2.i686 : Library for passing menus over DBus - Development files - GTK+2 version
libdbusmenu-gtk3.i686 : Library for passing menus over DBus - Development files - GTK+3 version
libdbusmenu-gtk3.x86_64 : Library for passing menus over DBus - Development files - GTK+3 version
[root@BSU ~]# dnf remove libdbusmenu-gtk2.i686
Dépendances résolues.
==============================================================================================================================================================================================
 Paquet                                             Architecture                           Version                                            Dépôt                                     Taille
==============================================================================================================================================================================================
Suppression:
 libdbusmenu-gtk2                                   i686                                   16.04.0-4.el7                                      @System                                    80 k

Résumé de la transaction
==============================================================================================================================================================================================
Supprimer  1 Paquet

Espace libéré : 80 k
Voulez-vous continuer ? [o/N] : o
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
  Préparation           :                                                                                                                                                                 1/1 
  Suppression de        : libdbusmenu-gtk2-16.04.0-4.el7.i686                                                                                                                             1/1 
  Exécution du scriptlet: libdbusmenu-gtk2-16.04.0-4.el7.i686                                                                                                                             1/1 
  Vérification de       : libdbusmenu-gtk2-16.04.0-4.el7.i686                                                                                                                             1/1 
Installed products updated.

Supprimé:
  libdbusmenu-gtk2-16.04.0-4.el7.i686                                                                                                                                                         

Terminé !
[root@BSU ~]# 

我真的认为它具有历史意义且不再需要,所以我将其删除

然后我正在再次运行 migration2rocky -r & 看起来没问题;只是在等待它结束,但现在进展顺利。

主要问题是关于非自动检测epel-下一个版本

上一期是关于要删除的本地特定包,然后重建发行版并重新运行最后一次迁移过程。

最后行动在发行版上发出合并请求

相关内容