[gull] Mise à jour Debian par étapes

Daniel Cordey dc at pxcluster.com
Mon Dec 22 11:58:08 CET 2025


Hola,

On 12/22/25 11:16, Claude Paroz via gull wrote:
>
> J'ai une question concernant la mise à jour de Debian (entre 2 LTS). 
> La doc indique déjà 2 étapes (que je suis généralement):
> apt upgrade --without-new-pkgs

Ça risque de faire beaucoup de packages ! En effet, entre deux LTS, 
presque tous les packages ont une nouvelle version...

La commande 'apt upgrade' est justement là afin de garantir une 
continuité. Entre autres, ça évite de supprimer des packages qui 
seraient utilisés par d'anciennes versions. Toutefois, cela ne permet 
pas de passer à la LTS suivante.

Par contre, à partir du moment on l'on fait 'full-upgrade', on bascule 
complètement. C'est ce qui va permettre d'installer une nouvelle version 
du kernel. Ce qui fait que '--without-new-package' n'a pas vraiment de 
sens si l'on veut faire 'full-upgrade'.

>
> Sur un de mes serveurs, la dernière Trixie apporte des modifications 
> assez importantes dans plusieurs services (notamment la config Dovecot 
> qu'il faut réécrire), donc je préférerais effectuer des mises à jour 
> progressives par service (mail, web, etc.), notamment pour éviter le 
> stress de devoir contrôler/corriger tout en même temps.

C'est, à mon humble avis, le gros problème des LTS. J'ai fait ça pendant 
des années, et, comme toi, j'avais des tas de problèmes à chaque 
nouvelle version (qui me prenaient en moyenne une semaine de travail à 
chaque fois). Pour d'autres raisons, j'ai abandonné le rythme des LTS, 
pour adopter les versions biannuelles d'Ubuntu. Cela limite grandement 
ce problème...


>
> Ma question de base est de savoir si un système Debian est en principe 
> stable et fonctionnel *tant que les dépendances sont respectées*.

C'est justement le but de 'apt update' qui permet cette garantie. C'est 
un énorme travail de la part des équipes chargées d'assurer la cohérence 
des dépendances. À partir du moment où l'on fait 'full-upgrade', on 
bénéficie aussi du respect des dépendances, mais pour l'ensemble de la 
nouvelle version. On ne peut donc pas mélanger ancien et nouveau, car ça 
serait infernal


> Je m'explique: admettons que je fasse la première étape (upgrade 
> --without-new-pkgs). Puis par exemple je fais un upgrade spécifique du 
> noyau (avec des apt install <nom_paquet>), puis d'autres services. 
> L'objectif étant bien sûr d'arriver finalement à l'upgrade complet, 
> mais en avançant par étapes, ce qui pourrait théoriquement durer 
> plusieurs jours.

Ça casse toute la notion du respect des dépendances. N'oublions pas 
qu'il y a du systemd là-dedans... Or, plein de choses changent dans les 
packages, et surtout les fichiers de config et leurs séquencements.


>
> Est-ce une tactique (trop) risquée ? Quelqu'un a-t-il déjà vécu ce cas 
> de figure ?

Je conseillerais d'utiliser un système de test complet, sur lequel tu 
fais la migration avec 'full-upgrade'. Tu passes le temps qu'il faut 
pour migrer/corriger tous les problèmes, et ensuite, tu passes ton 
système en production.

La stratégie CI/CD essaie justement d'éviter ce genre de situation et 
repose sur des architectures comme Kubernetes qui permettent de 
répliquer des systèmes et de les faire évoluer progressivement. 
Personnellement, j'estime que les LTS peuvent répondre à des besoins 
très ponctuels, mais c'est un ancien concept qui est complètement 
abandonné avec Docker/Kubernetes. Docker permet précisément d'assurer 
une transition en douceur vers les nouvelles versions, en facilitant les 
tests d'intégration et les transitions d'une version à une autre. Je ne 
peux qu'encourager quiconque ayant des systèmes de production critiques, 
de migrer ses applications/services vers Docker/Podman, dans le but de 
faciliter les migrations. On peut parfaitement répliquer la sécurité des 
LTS en utilisant Docker/Podman, tout en enlevant tout stress lors de 
l'installation d'une nouvelle version.

J'ai bien conscience que ma réponse ne va pas dans le sens de ce que tu 
voudrais, mais j'ai passé des années de galère à chaque migration vers 
une nouvelle version (LTS), et c'est justement pour cette raison que je 
me suis éloigné de cette pratique des LTS dès que possible. Ça fait 
vingt ans que j'ai changé mon fusil d'épaule et je ne reviendrais en 
arrière pour rien au monde. Toutes les entreprises offrant des services 
massifs sur internet, sont toutes passées à Docker/Kubernetes... ce 
n'est sans doute pas un hasard !

dc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20251222/49cf61e0/attachment.html>


More information about the gull mailing list