Migration centos8torocky8
Introduction
CentOS 8 est End Of Life (EOL) et il faut basculer sur la distribution CentOS Stream qui fonctionne en publication continue. Si vous préférez une distributions Linux qui fonctionne avec un système de versions majeures, Rocky est fait pour vous !
|
Soyez sûr de faire une sauvegarde des données présentes sur la machine, si c'est une machine virtuelle ou un conteneur faites un snapshot. Les modifications apportées au système ne sont pas anodines et peuvent le rendre inopérant. Vous êtes prévenu... nous pouvons poursuivre ! |
Préparation
Avant de pouvoir exécuter le script, il faut mettre à jour les dépôt de CentOS 8:
# sed -i -r \
-e 's!^mirrorlist=!#mirrorlist=!' \
-e 's!^#?baseurl=http://(mirror|vault).centos.org/\$contentdir/\$releasever/!baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/!i' \
/etc/yum.repos.d/CentOS-*.repo
Ensuite on nettoie avant de faire un update:
# dnf clean all # dnf -y update
Si jamais vous avez dnf qui plante avec le message Killed vous devez retirer le dépôt qui ne répond plus en modifiant sont fichier.
Par exemple si vous avez les lignes suivantes:
# dnf -y update CentOS Linux 8 - AppStream 3.8 MB/s | 8.4 MB 00:02 CentOS Linux 8 - BaseOS 3.9 MB/s | 4.6 MB 00:01 CentOS Linux 8 - Extras 8.5 kB/s | 10 kB 00:01 Extra Packages for Enterprise Linux 8 - x86_64 8.8 MB/s | 14 MB 00:01 Killed
C'est surement le dépôt EPEL (Extra Packages for Enterprise Linux) qui pose problème et en allant dans le fichier de configuration du dépôt:
# vi /etc/yum.repos.d/epel.repo
Vous pouvez modifier les lignes:
enabled=1
Par:
enabled=0
Pour le désactiver.
Récupération du script
Pour rapatrier le script en local nous allons utiliser la commande curl:
# curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
Puis rendre le script exécutable s'il ne l'ai pas déjà:
# chmod +x migrate2rocky.sh
Migration
Nous allons commencer par un tour à blanc ou dry run pour voir si la migration va bien se dérouler:
# ./migrate2rocky.sh -V migrate2rocky - Begin logging at Mon Nov 17 10:28:18 2025. Creating a list of RPMs installed: begin Verifying RPMs installed against RPM database: begin A log of this installation can be found at /var/log/migrate2rocky.log
Si vous ne voyez aucune erreur, vous pouvez poursuivre avec la migration:
# ./migrate2rocky.sh -r migrate2rocky - Begin logging at Mon Nov 17 10:29:23 2025. 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 baseos baseos extras extras ......
Cette commande prend du temps et bascule le système de CentOS à Rocky... patience !
Erreur durant la migration
Si jamais vous avez le message suivant:
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 ./migrate2rocky.sh: line 956: 1262 Killed dnf -y distro
Nous pouvons afficher le contenu du fichier /etc/os-release pour vérifier que la migration est presque terminée:
# cat /etc/os-release NAME="Rocky Linux" VERSION="8.10 (Green Obsidian)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="8.10" ...
Ici, plus mention de CentOS mais bien de Rocky... Nous allons appliquer la même astuce que précédemment:
# dnf clean all # dnf -y update
Normalement les commandes précédentes ne devraient pas faire d'erreur.
Post migration
Si jamais vous aviez désactiver des dépôts, il est temps de les réactiver en mettant enabled=1. Si jamais il bloque encore, il faudra les désinstaller puis les réinstaller:
# dnf -y reinstall epel-release