documentation/howto/upgrade_debian.md

2.3 KiB

Changement de version majeure de Debian

Parce que de temps en temps il faut le faire. Ça a l'air terrifiant dit comme ça, mais en y allant calmement on s'en sort. Conseil pour les gens qui débutent : commencer par des VM brûlables, ou des VM "en prod mais inutiles" pour se faire la main, puis y aller progressivement.

HowTo passer de Bookworm à Trixie

Tuto made in @Lzebulon, "testé en prod sur voyager" :

  • Vérifier qu'il n'y a pas de service pénible à gérer (isc-dhcp-server, dovecot par exemple).
  • Aller lire les notes de release de Debian.
    • Voir ici pour Debian 13 (Trixie). Parce qu'on est studieux ici.
  • On commence par se mettre totalement à jour sur la version dont on sort.
    • sudo apt update
    • sudo apt dist-upgrade --auto-remove
  • On remplace les sources de paquets d'une version à l'autre
    • Exemple pour bookworm -> trixie : sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
    • ⚠️ Debian a changé sa gestion des sources à partir de Trixie. Le format du fichier a changé et son chemin est /etc/apt/sources.list.d/debian.sources.
  • On se remet à jour en rattrapant les paquets de la nouvelle version.
    • sudo apt update
    • sudo apt dist-upgrade --autoremove
  • Il faut s'attendre à pas mal de prompts sur les fichiers de config, d'autant qu'au Crans on a un historique d'usage d'Ansible conséquent. Le plus prudent, de loin, est de garder le fichier de config actuel. Testé et approuvé.
  • Debian va montrer les changelogs d'une version à l'autre, les lire.
  • On peut reboot la VM. Et vérifier que tout marche.™
  • On peut nettoyer les anciens paquets.
    • sudo apt autoremove --purge
    • sudo apt purge '~o
    • sudo apt autoclean
  • Spécifiquement pour le passage à Trixie, il existe une commande pour faire la transition de l'ancienne convention de sources à la nouvelle.
    • sudo apt modernize-sources
    • sudo apt update
  • Vérifier que les srvices fonctionnent toujours.
    • Pour les services ayant un Nginx local, sudo systemctl restart nginx sur la VM de service. Les pads (Kenobi) sont concernés.
    • Pour les services utilisant PHP, vérifier dans le Nginx de la VM que c'est la bonne version qui est utilisée.