ASTUCE : Upgrade CentOS Stream 8 to CentOS Stream 9

Bonjour à tous,
La fin de support pour CentOS Stream 8 est annoncée au 31 mai 2024 : https://blog.centos.org/2023/04/end-dates-are-coming-for-centos-stream-8-and-centos-linux-7/
il n'est pas possible de mettre à niveau CentOS Stream (De 8 à 9).
ll n'est pas possible de mettre à niveau non plus Rocky Linux ou Alma Linux de 8 à 9. (Scoop, Alma Linux développe son outil de mise à niveau, ça va arriver)
RedHat Enterprise Linux peut être mis à niveau de 8 à 9 (les outils sont fournis par Red Hat), même si évidemment, dans un environnement professionel, on ne fera JAMAIS ce type d'opération. Je le rèpète assez

Cependant je vous montre une technique MANUELLE et non sans risque de mise à niveau.
La méthode la plus propre est l'installation de CentOS Stream 9 sur une autre machine, et de transférer vos applications/données sur celle ci.
--------------------------------------------
Dans un premier temps, sur notre système CentOS Stream, nous allons installer les dépôts CentOS Stream 9 + Le paquet release + les clés GPG :
Code BASH :
dnf install https://ftp-stud.hs-esslingen.de/pub/Mirrors/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-gpg-keys-9.0-24.el9.noarch.rpm https://ftp-stud.hs-esslingen.de/pub/Mirrors/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-stream-release-9.0-24.el9.noarch.rpm https://ftp-stud.hs-esslingen.de/pub/Mirrors/centos-stream/9-stream/BaseOS/x86_64/os/Packages/centos-stream-repos-9.0-24.el9.noarch.rpm
Si on a installé les dépôts EPEL, on fait de même.
Code BASH :
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm
On nettoie le cache local :
Code BASH :
dnf clean all
On utilisera distro-sync au lieu de upgrade avec dnf, et on spécifiera explicitement la version 9 :
Code BASH :
dnf --releasever=9 --allowerasing distro-sync
Une fois terminé, on reboot :
Code BASH :
reboot
Après la mise à niveau, vérifier que tout fonctionne bien évidemment.
A noter, lorsqu'on tente d'installer un paquet après l'upgrade, RPM nous annonce cette erreur :
Code TEXT :
RPM : attention : Found bdb_ro Packages database while attempting sqlite backend: using bdb_ro backend. RPM : erreur : impossible d'ouvrir l'index Packages en utilisant bdb_ro - Opération non permise (1) RPM : erreur : impossible d'ouvrir la base de données paquet dans /var/lib/rpm
On va utiliser la méthode habituelle pour reconstruire la base RPM :
Code BASH :
rm -f /var/lib/rpm/__db* rpm --rebuilddb
On met à jour les groupes essentiels au bon fonctionnement du système :
Code BASH :
dnf -y groupupdate "Core" "Minimal Install"
On en profite au passage pour supprimer les paquets orphelins :
Code BASH :
dnf autoremove
On reboot pour vérifier que notre système est toujours fonctionnel.
Code BASH :
reboot
Après on peut tester d'installer un paquet pour vérifier que tout est OK :
Code BASH :
dnf install iptraf-ng
Et tout est OK, plus d'erreur :
Code TEXT :
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:16:00 le mer. 19 oct. 2022 22:23:49. Dépendances résolues. ========================================================================================== Paquet Architecture Version Dépôt Taille ========================================================================================== Installation: iptraf-ng x86_64 1.2.1-4.el9 baseos 266 k Résumé de la transaction ========================================================================================== Installer 1 Paquet Taille totale : 266 k Taille des paquets installés : 389 k Voulez-vous continuer ? [o/N]
Evidemment, certains composants ont pu être supprimé (à cause des modules non reconnus OU lors de la suppression des orphelins). On les réinstallera.
--------------------------
Ça permet de dégrossir quand même la mise à niveau, plutôt que de tout réinstaller le système + ses programmes.
CentOS avec 10 ans de support n'existe plus, CentOS Stream n'en a plus que 5 et ne dispose pas de système de mise à niveau.
De mon point de vue, fuyez CentOS Stream, ce système n'a plus les avantages de feu CentOS !
Je vous conseille donc de vous orienter vers Red Hat Enterprise Linux si vous avez moins de 16 serveurs (c'est gratuit).
Si vous avez plus de serveurs et/ou que vous ne souhiatez pas être embêté avec un système de licencing, orientez-vous du côté d'Alma Linux ! Rocky Linux ça marche aussi, mais étant contributeur d'Alma Linux, je fais la promotion de celle-ci évidemment.