Demande #6315
Mis à jour par Pierre-Louis Bonicoli il y a 10 mois
Debian Bookworm est sorti :
* https://www.debian.org/releases/bookworm/ (à lire avec attention)
* https://www.debian.org/releases/bookworm/amd64/release-notes/
Afin de préparer la migration, création de tickets.
Prérequis :
* apt.chapril.org
Postrequis :
* vérifier la fonction de sauvegarde ;
* vérifier la supervision.
Le bloc-notes du camp https://pad.april.org/p/chaprilupgradebookworm
Comment migrer :
* faire des annonces larges pour prévenir de la migration à venir (sur
www.chapril.org, sur www.april.org, sur les listes d'informations
(type liste-infos@), sur les réseaux sociaux, sur les salons IRC, XMPP…
* prévenir les personnes utilisatrices des services
* faire un snapshot avec vmsnap
<pre>vmsnap create <domain> 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># Commades 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>
* 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)