Maintenir un parc de serveurs Linux à jour ne se résume pas à lancer une commande de temps en temps. Derrière chaque mise à jour se cache une logique précise : quelle version est encore supportée ? Quand bascule-t-on vers une nouvelle release majeure ? Et surtout, quelle commande utiliser — apt dist-upgrade ou do-release-upgrade — sans risquer de déstabiliser un système en production ?
Debian et Ubuntu suivent des cycles de vie distincts mais complémentaires. Comprendre ces cycles permet d’anticiper les fins de support, de planifier les migrations et de garantir que les correctifs de sécurité continuent d’arriver. Ce guide détaille les calendriers officiels, explique les différences entre les commandes de mise à jour disponibles, et propose une procédure pas à pas pour chaque scénario.
Que vous administriez des serveurs Debian 12 en production ou que vous envisagiez de migrer vos machines Ubuntu 22.04 vers la 24.04, vous trouverez ici les éléments concrets pour piloter ces opérations en toute sécurité.
Cycle de vie des distributions : Debian vs Ubuntu
Le modèle Debian : stable, LTS et ELTS
Debian suit un modèle de releases nommées (d’après des personnages de Toy Story). Chaque version passe par plusieurs stades : unstable (Sid), testing, puis stable. Une fois stable, la version bénéficie d’environ 3 ans de support complet par l’équipe de sécurité Debian, puis de 2 ans supplémentaires via le projet LTS, pour un total de 5 ans.
Un programme ELTS (Extended Long Term Support) prolonge encore ce support pour des architectures spécifiques, moyennant un abonnement commercial (Freexian). Voici le tableau des versions actives :
| Version | Nom de code | Sortie | Fin support standard | Fin LTS |
|---|---|---|---|---|
| Debian 11 | Bullseye | Août 2021 | Août 2024 | Août 2026 |
| Debian 12 | Bookworm | Juin 2023 | Juillet 2026 | Juin 2028 |
| Debian 13 | Trixie | Août 2025 | Août 2028 | Juin 2030 |
Point d’attention : Debian 12 Bookworm atteint la fin de son support standard en juillet 2026 — les administrateurs doivent prévoir la migration vers Debian 13 Trixie ou activer le LTS pour continuer à recevoir des correctifs.
Le modèle Ubuntu : LTS, ESM et Ubuntu Pro
Ubuntu adopte un rythme de publication semestriel, avec des versions intermédiaires (interim releases) supportées 9 mois, et des versions LTS (Long Term Support) publiées tous les deux ans en avril. Le modèle de support Ubuntu LTS est structuré en trois couches :
- Support standard : 5 ans, inclus dans toutes les installations
- ESM (Expanded Security Maintenance) : 5 années supplémentaires via Ubuntu Pro (gratuit pour 5 machines)
- Legacy Support : encore 5 ans additionnels sur abonnement payant
Soit jusqu’à 15 ans de maintenance sur les versions LTS via les offres commerciales de Canonical.
| Version | Nom de code | Sortie | Fin support standard | Fin ESM |
|---|---|---|---|---|
| Ubuntu 20.04 | Focal Fossa | Avr 2020 | Mai 2025 | Avr 2030 |
| Ubuntu 22.04 | Jammy Jellyfish | Avr 2022 | Mai 2027 | Avr 2032 |
| Ubuntu 24.04 | Noble Numbat | Avr 2024 | Mai 2029 | Avr 2034 |
| Ubuntu 26.04 | Plucky Puffin | Avr 2026 | Mai 2031 | Avr 2036 |
Note : Ubuntu 20.04 a atteint la fin de son support standard en mai 2025. Les machines encore sous cette version ne reçoivent plus de mises à jour de sécurité sans Ubuntu Pro activé.
Comprendre les commandes de mise à jour
apt update — Rafraîchissement des listes
La première commande à exécuter avant toute opération est apt update. Elle synchronise les listes de paquets depuis les dépôts configurés dans /etc/apt/sources.list et /etc/apt/sources.list.d/. Elle ne modifie aucun paquet installé.
sudo apt update
apt upgrade — Mise à jour conservative
apt upgrade met à jour les paquets déjà installés vers leurs dernières versions disponibles, sans jamais installer de nouveaux paquets ni en supprimer. Si une mise à jour nécessite la suppression d’un paquet existant pour résoudre un conflit de dépendances, elle est simplement ignorée. C’est la commande à privilégier pour les mises à jour courantes en production.
sudo apt update && sudo apt upgrade -y
apt dist-upgrade — Mise à jour intelligente des dépendances
apt dist-upgrade (ou son équivalent moderne apt full-upgrade) va plus loin : il résout intelligemment les dépendances en autorisant l’installation de nouveaux paquets et la suppression de paquets obsolètes si cela est nécessaire pour honorer les mises à jour. C’est la commande utilisée lors des mises à jour de noyau ou lorsque des transitions de paquets complexes sont en cours.
sudo apt update && sudo apt dist-upgrade -y
Important : apt dist-upgrade ne change pas la version de la distribution. Il met uniquement à jour les paquets au sein de la release actuelle.
do-release-upgrade — Migration vers une nouvelle release majeure
do-release-upgrade est l’outil officiel Ubuntu pour migrer d’une version à une autre (ex. : 22.04 → 24.04). Il modifie /etc/apt/sources.list, gère la transition des dépôts, met à jour l’ensemble du système et adapte la configuration. Il ne s’applique qu’à Ubuntu — sous Debian, la montée de version se fait manuellement en modifiant les sources APT.
# Vérifier la version courante
lsb_release -a
# Installer l'utilitaire si absent
sudo apt install update-manager-core
# Lancer la migration (version stable uniquement)
sudo do-release-upgrade
Par défaut, do-release-upgrade ne propose la migration vers une nouvelle LTS qu’après la publication du premier point release (ex. : 24.04.1), pour éviter des bugs de jeunesse. Pour forcer immédiatement :
sudo do-release-upgrade -d
À éviter en production : l’option -d cible la version de développement, pas nécessairement stable.
Procédure complète de mise à jour Ubuntu LTS (22.04 → 24.04)
Voici la séquence recommandée pour migrer un serveur Ubuntu 22.04 vers 24.04, en minimisant les risques :
# Étape 1 : sauvegarder les données critiques (bases, configs, /etc)
sudo tar czf /root/backup-pre-upgrade-$(date +%Y%m%d).tar.gz /etc /home /var/www
# Étape 2 : mettre le système entièrement à jour
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove --purge -y
# Étape 3 : redémarrer si le noyau a été mis à jour
sudo reboot
# Étape 4 : installer screen pour protéger la session SSH
sudo apt install screen -y
screen -S upgrade
# Étape 5 : lancer la migration
sudo do-release-upgrade
# En cas de déconnexion SSH, reprendre avec :
screen -r upgrade
Durant la migration, do-release-upgrade pose des questions interactives sur les fichiers de configuration modifiés (garder la version locale ou installer la nouvelle version du mainteneur). En cas de doute, conserver la version locale et appliquer les différences manuellement.
# Vérifier la version après migration
lsb_release -a
uname -r
Procédure de montée de version Debian (12 → 13)
Sous Debian, il n’existe pas d’équivalent à do-release-upgrade. La migration se fait en modifiant manuellement les sources APT puis en lançant dist-upgrade.
# Étape 1 : sauvegarder les sources actuelles
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bookworm.bak
# Étape 2 : remplacer bookworm par trixie dans les sources
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.list 2>/dev/null || true
# Étape 3 : mettre à jour les listes
sudo apt update
# Étape 4 : effectuer la montée de version
sudo apt upgrade -y
sudo apt dist-upgrade -y
# Étape 5 : supprimer les paquets orphelins
sudo apt autoremove --purge -y
# Étape 6 : redémarrer
sudo reboot
# Vérification post-upgrade
cat /etc/debian_version
Conseil : Effectuez cette opération en console physique ou via KVM/iDRAC plutôt qu’en SSH, ou utilisez screen/tmux pour éviter toute interruption de session pendant la mise à jour.
Bonnes pratiques et pièges à éviter
Vérifier le statut ESM Ubuntu Pro
# Vérifier l'état Ubuntu Pro et l'ESM
sudo pro status
# Activer Ubuntu Pro (gratuit, jusqu'à 5 machines)
sudo pro attach
Identifier les paquets qui bloquent une mise à jour
# Lister les paquets en attente de mise à jour
apt list --upgradable 2>/dev/null
# Lister les paquets marqués en hold (gelés)
sudo dpkg --get-selections | grep hold
# Débloquer un paquet gelé
sudo apt-mark unhold nom-paquet
Nettoyer après une migration
# Supprimer les paquets inutiles
sudo apt autoremove --purge -y
# Supprimer le cache APT
sudo apt clean
# Vérifier les paquets obsolètes (non disponibles dans les nouveaux dépôts)
sudo apt list --installed 2>/dev/null | grep -i obsolete
Surveiller les fins de support
# Vérifier le support d'une installation Ubuntu
sudo ubuntu-security-status
# Sous Debian, vérifier les paquets sans mise à jour de sécurité
sudo debsecan --suite trixie --format packages
À lire également
- APT : Guide complet de la gestion des paquets sous Debian et Ubuntu — pour maîtriser la gestion des dépôts, le pinning et les sources APT avant une migration
- Gestion des services avec systemd sur Debian et Ubuntu — vérifier l’état des services après une montée de version
- Scripting Bash avancé — pièges, bonnes pratiques et optimisation — automatiser les procédures de mise à jour
- SUDO : implémentation et sécurisation des accès sur Debian/Ubuntu — gérer les droits d’administration lors des migrations