使用官方 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-下一个版本
上一期是关于要删除的本地特定包,然后重建发行版并重新运行最后一次迁移过程。
最后行动在发行版上发出合并请求