E-NO
Mise à niveau Linux 9 min de lecture

Mise à niveau et migration Linux : un guide pratique pas à pas

calendar_today Publié : 2026-10-23
update Dernière mise à jour : 2026-10-23
analytics Efficacité SEO : 97%
Illustration du guide technique pour « Mise à niveau et migration Linux : un guide pratique pas à pas ».

Introduction

La mise à niveau ou la migration d'un système Linux est une opération courante qui peut mal tourner si elle est effectuée sans planification. Une mise à niveau ratée peut entraîner une interruption de service, une perte de données ou un système cassé difficile à restaurer. Ce guide fournit une approche pratique, étape par étape, pour planifier, exécuter et vérifier les mises à niveau et migrations Linux. Il couvre l'inventaire des versions, un chemin de configuration sûr, les diagnostics, la restauration et une liste de contrôle opérationnelle. En suivant ces pratiques, les développeurs, les consultants DevOps et les équipes techniques de startups peuvent réduire les risques et récupérer rapidement en cas d'échec.

Une migration Linux claire réduit les reprises en séparant la recherche, le brief, la génération de l'article, l'évaluation, l'approbation et la publication. Pour les tâches de mise à niveau et de migration, cela signifie séparer la planification, l'exécution, la validation et la restauration en phases distinctes. Le premier pilote utile doit être étroit, mesurable et facile à inspecter localement avant le déploiement. Cet article fournit des commandes concrètes et les sorties attendues pour vous aider à mettre en œuvre une mise à niveau ou une migration contrôlée.

Inventaire de la version et de l'environnement

Avant toute mise à niveau ou migration, vous devez comprendre l'état actuel de votre système. Inventoriez la version du système d'exploitation, le noyau, les paquets installés, les systèmes de fichiers et les services. Cette base de référence vous aide à détecter les changements après l'opération et à planifier la restauration si nécessaire.

Collecter les informations système

Utilisez les commandes suivantes pour collecter les détails essentiels du système :

# Version du système d'exploitation
cat /etc/os-release

# Version du noyau
uname -r

# Nom d'hôte et architecture
hostnamectl

# Périphériques bloc et systèmes de fichiers
lsblk -f

# Systèmes de fichiers montés
mount | column -t

# Paquets installés (Debian/Ubuntu)
dpkg -l > installed-packages-before.txt

# Paquets installés (RHEL/CentOS)
rpm -qa > installed-packages-before.txt

Exemple de sortie pour cat /etc/os-release sur Ubuntu 20.04 :

NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"

Enregistrez cette base de référence dans un emplacement sécurisé en dehors du système (par exemple, une base de données de gestion de configuration ou un dépôt Git).

Identifier les services et les dépendances

Listez les services activés et leurs états :

systemctl list-unit-files --state=enabled

Vérifiez les dépôts tiers qui pourraient affecter la mise à niveau :

# Debian/Ubuntu
ls /etc/apt/sources.list /etc/apt/sources.list.d/*.list

# RHEL/CentOS
ls /etc/yum.repos.d/*.repo

Vérifiez également l'espace disque, car les mises à niveau nécessitent de l'espace libre pour les téléchargements et les fichiers temporaires :

df -h /

Assurez-vous d'avoir au moins quelques gigaoctets libres. Sinon, nettoyez les anciens noyaux ou les journaux.

Prérequis pour la mise à niveau/migration

  • Sauvegarde : Créez des sauvegardes complètes du système ou au moins des données et fichiers de configuration critiques. Utilisez des outils comme tar, rsync ou des systèmes de fichiers avec snapshots.
  • Plan de restauration : Pour les mises à niveau par paquets, utilisez l'historique du gestionnaire de paquets ou les snapshots. Pour les migrations, disposez d'une réplication ou d'une copie de l'ancien système.
  • Fenêtre de maintenance : Planifiez l'opération pendant une période de faible utilisation. Informez les parties prenantes.
  • Accès : Assurez-vous d'avoir un accès hors bande (console, IPMI, console cloud) en cas de perte de connectivité réseau.
  • Documentation : Tenez un journal de chaque commande et de sa sortie.

Chemin de configuration sûr

Un chemin de configuration sûr signifie effectuer des modifications de manière contrôlée et réversible. Évitez les mises à niveau big-bang ; à la place, procédez par étapes et testez après chaque étape. Si possible, testez d'abord sur un clone non productif ou une machine virtuelle.

Pilote d'abord

Le premier pilote utile doit être étroit, mesurable et facile à inspecter localement avant le déploiement. Choisissez un système à faible risque ou une VM jetable qui reflète la production. Effectuez la mise à niveau là-bas et documentez tout problème.

Mise à niveau des paquets avec vérification

Pour une mise à niveau de version de distribution (par exemple, Ubuntu 20.04 vers 22.04), utilisez l'outil de mise à niveau officiel mais avec des précautions supplémentaires :

  1. Mettez à jour les paquets actuels :
sudo apt update && sudo apt upgrade -y

La sortie attendue se termine par quelque chose comme :

0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  1. Installez le gestionnaire de mise à jour principal (Ubuntu) :
sudo apt install update-manager-core
  1. Assurez-vous que les invites sont définies sur LTS dans /etc/update-manager/release-upgrades :
Prompt=lts
  1. Lancez la mise à niveau de version (n'utilisez pas -d sauf pour tester le développement) :
sudo do-release-upgrade

Cette commande est interactive ; elle téléchargera les paquets et demandera confirmation avant de faire des changements. Vous pouvez d'abord simuler avec :

do-release-upgrade -c  # vérifier seulement la mise à niveau disponible

Sortie attendue si une mise à niveau est disponible :

Checking for a new Ubuntu release
New release '22.04.3 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
  1. Pendant la mise à niveau, le système peut redémarrer. Après le redémarrage, vérifiez la nouvelle version.

Migration entre systèmes

Pour une migration (déplacement vers un nouveau matériel ou cloud), envisagez d'utiliser rsync pour copier le système de fichiers racine en excluant les systèmes de fichiers virtuels :

sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/newroot/

Ensuite, mettez à jour le chargeur de démarrage et le fichier fstab sur le nouveau système. Ceci est un exemple général ; testez toujours d'abord sur un système jetable.

Vérification et diagnostics

Après la mise à niveau ou la migration, vérifiez que le système est fonctionnel. Vérifiez que la version du système d'exploitation est correcte, que les services fonctionnent et que les applications répondent.

Vérifier la version du système d'exploitation et le noyau

cat /etc/os-release
uname -r

Comparez avec la base de référence.

Vérifier l'état des services

systemctl --failed

La sortie doit être vide ou ne montrer aucune unité en échec :

0 loaded units listed.

Vérifiez les services critiques (par exemple, sshd) :

systemctl status sshd

La sortie attendue inclut active (running).

Tester la connectivité réseau

ip a
ping -c 4 8.8.8.8

Assurez-vous de pouvoir atteindre les réseaux externes.

Valider la fonctionnalité des applications

Exécutez des tests de fumée spécifiques aux applications. Pour les serveurs web, utilisez curl :

curl -I http://localhost

La sortie attendue commence par HTTP/1.1 200 OK.

Vérifier les journaux pour les erreurs

Passez en revue les journaux système pour toute anomalie :

journalctl -p err -b

Enquêtez sur toute erreur qui apparaît.

Modes de défaillance et récupération

Malgré une planification minutieuse, les mises à niveau et migrations peuvent échouer. Les modes de défaillance courants incluent les dépendances cassées, les paniques du noyau, la mauvaise configuration des services ou la corruption des données. Voici des stratégies de récupération.

Restauration à l'aide du gestionnaire de paquets

De nombreux gestionnaires de paquets conservent un historique ou permettent des rétrogradations.

Debian/Ubuntu (APT) : Consultez /var/log/apt/history.log pour la transaction. Vous pouvez rétrograder des paquets spécifiques en utilisant apt install <paquet>=<version> si les anciennes versions sont encore dans le cache ou le dépôt. Pour annuler une do-release-upgrade, il n'existe pas de restauration automatique officielle, il est donc crucial d'avoir une sauvegarde. Cependant, vous pouvez essayer de démarrer un noyau plus ancien depuis GRUB si le système ne démarre pas.

RHEL/CentOS (YUM/DNF) : Utilisez l'historique des transactions et l'annulation :

sudo dnf history
sudo dnf history undo <ID>

Exemple de sortie de dnf history :

ID | Command line              | Date and time       | Action(s) | Altered
-------------------------------------------------------------------------------
 5 | upgrade                   | 2023-10-01 12:00   | Upgrade   | 42
 4 | install httpd             | 2023-09-15 09:00   | Install   |  5

Pour annuler la dernière mise à niveau (ID 5) :

sudo dnf history undo 5

Cela annulera les changements de paquets, mais cela peut ne pas annuler les changements de fichiers de configuration.

Récupération du démarrage avec GRUB

Si le système ne démarre pas après une mise à niveau du noyau, redémarrez et sélectionnez un noyau plus ancien dans le menu GRUB. Si GRUB est corrompu, démarrez à partir d'un CD/USB live, montez la partition racine et réinstallez GRUB :

# Exemple : démarrer depuis une clé USB live, monter la racine sur /mnt
sudo mount /dev/sda1 /mnt
sudo grub-install --boot-directory=/mnt/boot /dev/sda

Restauration à partir de la sauvegarde

Si les changements sont irrécupérables, restaurez à partir de la sauvegarde prise avant l'opération. Pour les sauvegardes au niveau fichier, utilisez rsync ou tar pour restaurer. Pour les snapshots de VM, revenez au snapshot.

Restauration de la migration

Pour une migration, vous pouvez revenir à l'ancien système s'il existe encore. Gardez l'ancien système en ligne en mode lecture seule ou ayez un plan pour rediriger le DNS ou l'équilibreur de charge vers l'ancienne IP.

Pièges courants et comment les éviter

De nombreux échecs de mise à niveau et de migration proviennent d'erreurs évitables. Voici les plus courants, pourquoi ils se produisent et comment les prévenir ou les récupérer.

1. Espace disque insuffisant

Pourquoi cela arrive : Les paquets de mise à niveau et les fichiers temporaires peuvent consommer plusieurs gigaoctets. Si la partition racine se remplit, la mise à niveau s'interrompt en cours de route, laissant le système dans un état incohérent.

Comment éviter : Avant de commencer, exécutez df -h / et assurez-vous d'avoir au moins 5 à 10 Go libres. Nettoyez les anciens noyaux avec sudo apt autoremove (Debian/Ubuntu) ou sudo dnf autoremove (RHEL/CentOS), et effacez les journaux ou les caches.

Récupération : Si la mise à niveau échoue en raison d'un manque d'espace disque, démarrez en mode de récupération ou dans un environnement live, supprimez les fichiers inutiles et réessayez la mise à niveau. Pour APT, exécutez sudo dpkg --configure -a pour réparer les paquets cassés.

2. Ignorer les dépôts tiers

Pourquoi cela arrive : De nombreux systèmes ont des dépôts supplémentaires (par exemple, pour PHP, Docker ou des logiciels personnalisés). Lors d'une mise à niveau de distribution, ces dépôts peuvent manquer de paquets pour la nouvelle version, provoquant des conflits de dépendances.

Comment éviter : Listez tous les dépôts avec ls /etc/apt/sources.list.d/ ou ls /etc/yum.repos.d/, et désactivez les dépôts non essentiels avant la mise à niveau. Réactivez-les ensuite et testez la compatibilité.

Récupération : Si la mise à niveau échoue à cause d'un dépôt tiers, désactivez ce dépôt, réparez les paquets cassés avec apt --fix-broken install ou dnf distro-sync, puis mettez à jour manuellement le logiciel problématique.

3. Sauter le test pilote

Pourquoi cela arrive : La pression du temps ou l'excès de confiance conduit à mettre à niveau directement la production, ce qui peut provoquer des pannes de service inattendues.

Comment éviter : Testez toujours sur un clone ou une VM avec une configuration similaire. Utilisez des outils comme virt-clone, des snapshots cloud, ou copiez avec rsync vers une machine de test.

Récupération : Si la production échoue et qu'aucun pilote n'a été fait, revenez immédiatement en arrière en utilisant les sauvegardes ou les snapshots, puis effectuez un pilote avant de réessayer.

4. Ne pas avoir de plan de restauration

Pourquoi cela arrive : On suppose que la mise à niveau réussira sans problème. Lorsqu'elle échoue, il n'y a pas de chemin clair pour restaurer le service, prolongeant l'interruption.

Comment éviter : Avant de commencer, définissez une procédure de restauration : pour les VM, prenez un snapshot ; pour les serveurs physiques, ayez une sauvegarde complète ou un disque de démarrage secondaire. Documentez les commandes exactes pour revenir en arrière.

Récupération : Si aucun plan de restauration n'a été créé et que le système échoue, utilisez un environnement live pour accéder aux données, réinstallez le système d'exploitation et restaurez à partir des sauvegardes. Cela prend plus de temps mais est possible.

5. Ne pas vérifier les services après la mise à niveau

Pourquoi cela arrive : La mise à niveau se termine sans erreur, mais un service ne démarre pas en raison de changements de configuration. Sans vérification, cela n'est découvert que lorsque les utilisateurs se plaignent.

Comment éviter : Après la mise à niveau, exécutez une liste de vérification : vérifiez systemctl --failed, testez les ports critiques avec ss -tulpn, et exécutez des tests de fumée des applications.

Récupération : Si un service échoue, consultez ses journaux avec journalctl -u <service>, comparez les fichiers de configuration avec les sauvegardes (dans /etc ou les sauvegardes du gestionnaire de paquets), et ajustez les paramètres ou réinstallez le service.

6. Perdre les personnalisations de configuration

Pourquoi cela arrive : Les mises à niveau de paquets peuvent écraser les fichiers de configuration, surtout si l'administrateur a choisi de les remplacer par les versions du mainteneur pendant les invites.

Comment éviter : Avant la mise à niveau, sauvegardez le répertoire /etc ou au moins les fichiers de configuration importants. Utilisez etckeeper pour suivre les changements dans /etc avec un contrôle de version.

Récupération : Restaurez les fichiers de configuration à partir de la sauvegarde, ou utilisez les fichiers .dpkg-old / .rpmnew laissés par les gestionnaires de paquets.

Liste de contrôle opérationnelle

Utilisez cette liste de contrôle pour chaque mise à niveau ou migration Linux afin d'assurer la cohérence et la sécurité. Attribuez un responsable pour chaque étape et passez en revue la liste après chaque changement majeur.

ÉtapeDescriptionResponsableFréquence / RevueFait
1. InventaireEnregistrer la version du système d'exploitation, le noyau, les paquets et les services.Administrateur système (ex. Priya Shah)Avant chaque mise à niveau[ ]
2. SauvegardeCréer une sauvegarde complète ou partielle des données et configurations critiques.Administrateur de sauvegarde (ex. Tom Chen)Avant chaque mise à niveau[ ]
3. Test sur piloteEffectuer la mise à niveau d'abord sur un système non productif.Ingénieur DevOps (ex. Maria Lopez)Avant le changement en production[ ]
4. Planifier la maintenanceInformer les utilisateurs et les parties prenantes ; définir une fenêtre de maintenance.Gestionnaire de changement (ex. David Kim)Avant le changement[ ]
5. Exécuter la mise à niveau/migrationSuivre les étapes planifiées, journaliser toutes les commandes et sorties.Administrateur systèmePendant le changement[ ]
6. VérifierVérifier la version du système d'exploitation, les services, le réseau et la fonctionnalité des applications.Ingénieur QA (ex. Anna Patel)Immédiatement après le changement[ ]
7. SurveillerObserver les journaux et les performances pendant une période après le changement.Chef d'équipe de surveillance (ex. John Smith)24-48 heures après le changement[ ]
8. Plan de restaurationAvoir un accès prêt aux sauvegardes ou à l'état précédent.Administrateur systèmeAvant le changement, vérifié[ ]
9. DocumenterMettre à jour la documentation avec la nouvelle configuration et tout problème.Rédacteur technique (ex. Emily Davis)Dans la semaine suivant le changement[ ]
10. RevueEffectuer un post-mortem pour améliorer les futures mises à niveau.Responsable des opérations (ex. Chris Lee)Dans les deux semaines[ ]

Les listes de contrôle doivent être examinées par le responsable à la fréquence indiquée, et les résultats suivis dans votre système de gestion des changements.

Conclusion

Les mises à niveau et migrations Linux sont gérables lorsqu'elles sont abordées méthodiquement. Commencez par un inventaire et une sauvegarde approfondis, testez sur un pilote, apportez des modifications par étapes contrôlées, vérifiez tout et soyez prêt à revenir en arrière. Utilisez les commandes et les listes de contrôle de ce guide pour réduire les risques et assurer une transition en douceur. En séparant la planification, l'exécution, la validation et la récupération, vous minimisez les reprises et les interruptions. Vous pouvez maintenant appliquer ces pratiques à votre prochaine mise à jour ou migration de système Linux.

Score de qualité de l’article

Utilité pour le lecteur 97%
  • check_circle Guide prêt à lire
  • check_circle Exemples pratiques inclus
  • check_circle URL d’article optimisée pour le SEO