OS : Cycle de vie LTS et mise à jour des distributions — apt dist-upgrade et do-release-upgrade sous Debian / Ubuntu

22 juin 2026 — par admin_libra

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

Références

Index complet

Tous les articles (47)

Date Article Tags
22/06/2026 OS : Cycle de vie LTS et mise à jour des distributions — apt dist-upgrade et do-release-upgrade sous Debian / Ubuntu apt cycle-de-vie debian 17/06/2026 APT : Guide complet de la gestion des paquets sous Debian et Ubuntu administration apt debian 17/06/2026 SHELL : Guide des commandes les plus usuelles et commandes couteau suisse awk bash commandes 17/06/2026 SUDO : implémentation et sécurisation des accès sur Debian/Ubuntu administration audit authentification 17/06/2026 ProFTPd : authentification MySQL centralisée, FTPs (SSL) et SFTP sur Debian/Ubuntu authentification debian ftp 09/06/2026 Fail2ban — configuration avancée et filtres personnalisés bruteforce debian fail2ban 07/06/2026 Docker : comment récupérer de l'espace disque cache conteneurs debian 07/06/2026 Graylog 7 — Centralisation et analyse de logs : l'alternative à ELK sur Debian/Ubuntu centralisation debian elk 07/06/2026 OpenZFS : tiering avec L2ARC et SLOG pour les workloads mixtes cache l2arc nvme 07/06/2026 Scripting Bash avancé — pièges, bonnes pratiques et optimisation automatisation bash bonnes-pratiques 07/06/2026 AppArmor sur Debian/Ubuntu : profils, modes et confinement applicatif apparmor audit confinement 07/06/2026 Durcissement SSH — au-delà des clés publiques 2fa authentification cryptographie 27/05/2026 LXD 6.x : orchestration de conteneurs Linux avec profils et clustering administration clustering conteneurs 27/05/2026 Keepalived — VIP flottante et load balancing sans matériel dédié debian failover haute-disponibilité 27/05/2026 Btrfs sur Linux — snapshots, sous-volumes et compression en pratique administration btrfs compression 21/05/2026 CVE-2026-42945 (NGINX Rift) : analyse et remédiation sur Debian/Ubuntu cve debian heap-overflow 21/05/2026 Tuning kernel Linux — paramètres sysctl essentiels pour la production debian kernel mémoire 21/05/2026 DRBD : réplication de blocs entre deux serveurs en temps réel cluster debian drbd 15/05/2026 CVE-2026-23918 — vulnérabilité Apache 2.4.66 : analyse et correctifs sur Debian/Ubuntu (hors Debian 11) apache cve debian 15/05/2026 CVE-2026-31431 (Copy Fail) — Analyse et remédiation sur Debian/Ubuntu algif_aead copy-fail cve 12/05/2026 Pacemaker et Corosync — cluster haute disponibilité Linux cluster corosync debian 12/05/2026 WireGuard : monter un VPN mesh entre plusieurs serveurs Linux chiffrement linux mesh 12/05/2026 Netdata — monitoring temps réel sans configuration complexe alertes dashboard linux 12/05/2026 nftables en pratique — remplacer iptables sur Debian/Ubuntu debian firewall iptables 12/05/2026 Podman : alternative rootless à Docker — installation et migration conteneurs docker kubernetes 02/05/2026 Prometheus et Grafana sur Debian — installation, configuration et dashboards pratiques alertmanager dashboard debian 02/05/2026 Ansible : automatiser la gestion de serveurs Linux avec des playbooks administration ansible automation 28/04/2026 ZFS sur Linux : snapshots, clones et RAID-Z en pratique administration compression filesystem 28/04/2026 eBPF sur Linux : observabilité et traçage kernel avec bpftrace et BCC bcc bpftrace diagnostic 23/04/2026 Analyse de la mémoire sur Linux — vmstat, free, smem diagnostic mémoire monitoring 23/04/2026 Sécurité Linux — Firewall iptables et nftables firewall iptables nftables 23/04/2026 ZFS sur Linux — Installation et gestion avancée administration filesystem stockage 23/04/2026 Gestion des services avec systemd sur Debian et Ubuntu administration debian services 23/04/2026 Gestion des ressources cgroups v1/v2 avec LXC cgroups conteneurs lxc 23/04/2026 Centralisation logs avec ELK Stack — Elasticsearch, Kibana, Filebeat elasticsearch elk filebeat 23/04/2026 Supervision avec Zabbix 7.0 LTS sur Debian/Ubuntu debian monitoring supervision 23/04/2026 Plusieurs versions PHP-FPM sur Apache Debian/Ubuntu apache debian php-fpm 23/04/2026 Sécurisation avancée PHP-FPM — Multi-VirtualHosts Apache/Nginx apache nginx php-fpm 23/04/2026 Optimisation PHP-FPM — Guide de tuning d'un pool optimisation performance php-fpm 29/07/2025 Docker sur Debian/Ubuntu : Installation, Configuration et Utilisation conteneurs debian docker 03/07/2025 Serveur VPN WireGuard sous linux réseau sécurité vpn 03/07/2025 Authentification par clé publique sur un serveur SSH authentification cryptographie sécurité 27/06/2025 Surveillance et diagnostic d’un serveur Linux avec vmstat, iotop et htop diagnostic htop monitoring 27/06/2025 Mémoire : Utilisation des Huge Pages et implémentation hugepages mémoire noyau 27/06/2025 Mémoire Swap et paramétrage swappiness mémoire noyau performance 18/06/2025 Installation et Configuration des Conteneurs LXC sur Linux administration conteneurs lxc 18/06/2025 Gestion des journaux avec syslog et journalctl administration journalctl logs