Demande #6409
Mis à jour par Quentin Gibeaux il y a 6 mois
Debian Bookworm est sortie, il faut migrer l'infra
Le bloc-notes du camp https://pad.chapril.org/p/aprilupgradebookworm
Comment migrer :
* prévenir les personnes utilisatrices des services
* faire un snapshot
<pre>virsh snapshot-create-as <vm> avant_upgrade_bookworm</pre>
* se connecter en ssh et lancer un screen avec la commande "screen"
* sauvegarder la trace via commande script :
<pre>script -a ~/upgrade-bookworm.script</pre>
* faire un état des lieux des potentiels problèmes :
<pre>dpkg --audit
dpkg --get-selections | grep 'hold$'</pre>
* lister les fichiers de dépot dans @/etc/apt/sources.list@ et @/etc/apt/sources.list.d/@ et s'assurer qu'ils ont une version bookworm
* s'il y a des dépots secondaires hors debian (nodejs, etc), potentiellement les commenter le temps de la migration
* faire un dernier update/upgrade :
<pre>apt update && apt dist-upgrade -y</pre>
* pointer vers bookworm :
<pre>sed -e 's/bullseye/bookworm/g' -i /etc/apt/sources.list
sed -e 's/bullseye/bookworm/g' -i /etc/apt/sources.list.d/*</pre>
* @apt update@
** s'assurer qu'il n'y a pas d'erreur d'interrogation des dépôts
* Mettre à jour tout les paquets
** commencer par mettre à jour apt lui-même :
<pre>apt install apt</pre>
** <pre>DEBIAN_FRONTEND=noninteractive apt -o DPKG::Options::="--force-confold" dist-upgrade -y</pre>
* S'assurer que tout les paquets sont bien installés à la fin :
<pre>dpkg -C</pre>
* décommenter les dépôts secondaires
* <pre>apt update && apt dist-upgrade -y</pre>
* Regarder les fichiers de conf en conflits :
** <pre>find /etc -type f -name '*dist*'</pre>
** adapter les confs entre les fichiers d'origine et les fichiers dist (fichier dist == nouvelle conf par défaut), @vim -d lefichier lefichier.dpkg-dist@ peut aider à comparer)
* rebooter la vm
* s'assurer que tout les démons tournent correctement après reboot (@systemctl status@ doit être à @running@)
** lancer <pre>systemctl --failed</pre> pour lister tous les services en échec
* <pre>apt autoremove</pre>
* <pre>apt clean</pre>
* *Avant l'étape suivante, migrer les potentiels postgres*
<pre><code># Commandes extraites de /usr/share/doc/postgresql-15/README.Debian.gz
pg_lsclusters
pg_dropcluster 15 main --stop
pg_upgradecluster 13 main
# l'ancien cluster pourra ensuite être supprimé avec :
# pg_dropcluster 13 main
</code></pre>
** Note pour plus tard : sur de grosses BDD, utiliser @pg_upgradecluster --method=link ...@ qui évite d'avoir à doubler l'espace disque nécessaire pendant l'upgrade, et qui est beaucoup plus rapide
* recherche de tous les paquets qui ne sont pas @deb12@ avec :
** <pre>dpkg -l | grep 'deb\(10\|11\)'</pre>
* Si on est sûr :
** <pre>apt purge $(dpkg -l | grep 'deb\(10\|11\)' | awk '{print $2}')</pre>
* reboot la vm
* tester le service, tester le monitoring
* si tout est ok prévenir les personnes utilisatrices (mais coupures possibles encore lors de maj des hosts)
* supprimer le snapshot :
* <pre>virsh snapshot-delete <vm> avant_upgrade_bookworm</pre>