Mise à niveau de CentOS 7 vers CentOS 8

CentOS 8 a été publié le 23 septembre 2019 : les images ISO sont disponibles sur le site officiel et s’installent de plusieurs façons. La version minimale n’était pas fournie au départ (ou peut ne jamais l’être) ; en tant qu’administrateur système je préfèreait l’image minimale (~800 Mo contre ~6 Go pour l’ISO complète). Ce tutoriel explique comment passer de CentOS 7 à CentOS 8 sur une machine de test.
Important : ceci n’est pas une mise à niveau officielle. Effectuez-la uniquement en laboratoire ou sur des systèmes non critiques.
Prérequis
- Accès root ou sudo sur la machine CentOS 7.
- Sauvegarde complète des données et snapshots (si possible).
- Connexion réseau fiable et suffisamment d’espace disque.
- Compréhension de base de RPM, yum et DNF.
Checklist avant de commencer
- Snapshot ou sauvegarde complète créée
- Inventaire des paquets installés
- Plan de retour documenté
- Vérification de la compatibilité applicative
Étapes de mise à niveau
- Installez le dépôt EPEL pour CentOS 7 :
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm- Installez yum-utils et utilitaires RPM :
yum -y install rpmconf yum-utils- Résolvez les fichiers de configuration RPM :
rpmconf -aRésultat :

Choisissez « Keep Default » pour la plupart des fichiers sauf si vous savez pourquoi les remplacer.
- Nettoyez les paquets orphelins et les dépendances inutiles :
package-cleanup --leaves
package-cleanup --orphans- Installez le gestionnaire DNF (basé sur RPM) :
yum -y install dnf- Supprimez l’ancien gestionnaire yum :
dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum- Mettez d’abord à jour le système avec DNF :
sudo dnf -y upgrade- Installez le paquet de release CentOS 8 depuis un miroir :
dnf -y upgrade http://mirror.bytemark.co.uk/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm- Mettez à jour le dépôt EPEL pour CentOS 8 :
dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm- Nettoyez le cache DNF :
dnf clean all- Supprimez les anciens noyaux (optionnel, prudence) :
rpm -e `rpm -q kernel`- Supprimez les paquets en conflit si nécessaire :
rpm -e --nodeps sysvinit-tools- Lancez la mise à niveau principale :
dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync- Traitez les nouvelles configurations :
rpmconf -a- Vérifiez l’installation du nouveau noyau et réinstallez si besoin :
rpm -e kernel-core
dnf -y install kernel-core- Vérifiez et installez GRUB sur le bon périphérique :
ROOTDEV=`ls /dev/*da|head -1`;
echo "Detected root as $ROOTDEV..."
grub2-install $ROOTDEV- Installez les groupes minimaux si vous le souhaitez :
dnf -y groupupdate "Core" "Minimal Install"- Vérifiez la version :
cat /etc/centos-release
Points d’échec courants et solutions rapides
- Paquets obsolètes ou propriétaires en conflit : l’option –allowerasing peut supprimer des paquets critiques. Vérifiez la liste avant confirmation.
- Echec d’installation du noyau : réinstallez kernel-core et vérifiez /boot et l’espace disque.
- GRUB non installé au bon endroit : exécutez grub2-install sur le périphérique racine correct.
- Services qui utilisent SysV init : convertissez les scripts vers systemd ou remplacez les services par des alternatives compatibles.
Procédure de retour (rollback) rapide
- Si vous avez un snapshot LVM ou VM, restaurez-le.
- Si vous n’avez pas de snapshot, réinstallez CentOS 7 et restaurez les données depuis la sauvegarde.
- Documentez ce qui a échoué avant de retenter la migration.
Alternatives à cette méthode
- Installation propre de CentOS 8 et migration des données/applications (recommandé pour la production).
- Migration via containers (Docker/RHEL containers) pour isoler les applications.
- Utiliser des images cloud ou des instances neuves pour minimiser le risque.
Tests d’acceptation rapides
- Le noyau démarre et le système atteint l’invite de connexion graphique ou SSH.
- Services critiques (web, DB, monitoring) démarrent et répondent.
- Les applications clés passent les tests fonctionnels.
Rôles et responsabilités (checklist par rôle)
- Administrateur système : sauvegarde, exécution des commandes, restauration GRUB.
- DevOps : valider les pipelines et images, surveiller les services.
- Responsable applicatif : vérifier la compatibilité des applications.
Glossaire rapide
- DNF : Gestionnaire de paquets moderne pour Fedora/RHEL/CentOS.
- EPEL : Extra Packages for Enterprise Linux, dépôt additionnel.
- distro-sync : Synchronise les paquets avec les versions du dépôt cible.
Résumé
- Cette procédure permet de migrer CentOS 7 vers CentOS 8 en environnement de test en utilisant DNF et la synchronisation de distribution.
- Sauvegardez toujours avant de commencer ; en production, privilégiez une installation propre.
- Ayez un plan de retour et testez les applications après migration.
Important : validez chaque étape sur un système non critique avant toute adoption en production.
Auteur
Édition
Matériaux similaires
Conteneurs
Installer et utiliser Podman sur Debian 11
Administration système
Guide pratique : apt-pinning sur Debian
Jeux PC
OptiScaler : activer FSR 4 dans n'importe quel jeu
réseau
Dansguardian + Squid NTLM sur Debian Etch
Android, Dépannage
Corriger l'erreur d'installation Android sur SD
Tutoriel