Migration de Debian Bookworm vers Trixie
Préparation
Assurez vous que vous êtes à la dernière version de debian
apt update apt full-upgrade
Vérifiez l'absence d'action en attente si vous utilisez aptitude
Lancez aptitude
puis tapez G
Supprimez les paquets obsolètes
apt list '~o' apt purge '~o'
Identifiez les paquets non-debian qui pourraient poser soucis lors de la mise à jour
Tous les paquets non fournis par debian peuvent poser problème. A vos risques et péril.
Pour les identifier :
apt list '?narrow(?installed, ?not(?origin(Debian)))' apt-forktracer | sort
A vous de décider ou non de les supprimer avant la mise à niveau, certains paquets peuvent néanmoins gêner la mise à niveau.
Supprimez les fichiers de configuration non utilisés
find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'
Désactivez le pinning
Dans /etc/apt/preferences
et /etc/apt/preferences.d/
Vérifiez l'absence de paquets cassés
dpkg --audit
Enlevez les éventuels holds qui pourraient faire échouer la mise à jour
Pour identifier les paquets en hold :
apt-mark showhold aptitude search "~ahold" dpkg --get-selections | grep 'hold$'
Pour supprimer un hold :
apt-mark unhold package_name
Désactivez les entrées backports de votre sources.list
Sources non officielles
Assurez vous que ces sources possèdent des paquets compilés pour la nouvelle version de debian
Spécificités trixie
Mariadb
MariaDB ne supporte pas une récupération d'erreur entre deux versions majeurs, il faut donc s'assurer que vos bases de données sont propres et que les données et buffers sont bien écrit sur le disque avant de mettre à jour debian. Pour cela :
service mariadb stop
Puis vérifiez dans les logs la présence d'une ligne Shutdown complete
. Si ce n'est pas le cas, relancez mariadb pour lancer la récupération automatique des tables, attendez, puis stoppez à nouveau mariadb et vérifiez dans les logs que le nouvel arrêt s'est fait proprement.
Mise à jour
Mise à jour de /etc/apt/sources.list
Debian Trixie utilise la nouvelle version deb822-style pour les sources apt.
Il faut transformer le fichier /etc/apt/sources.list
et tout fichier *.list
situé dans /etc/apt/sources.list.d/
en un fichier /etc/apt/sources.list.d/debian.sources
Exemple de fichier debian.sources
:
# main and updates Types: deb URIs: https://deb.debian.org/debian Suites: trixie trixie-updates Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # security Types: deb URIs: https://security.debian.org/debian-security Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Mise à jour de la liste des paquets
apt update
Assure vous d'avoir assez d'espace libre
La commande suivante permet de voir l'espace nécessaire pour la mise à jour :
apt -o APT::Get::Trivial-Only=true full-upgrade
Enregistrez les actions effectuées
apt loguera les packets modifiés dans /var/log/apt/history.log
et la sortie du terminal dans /var/log/apt/term.log
Mise à jour
apt upgrade --without-new-pkgs apt full-upgrade
Si un prompt vous demande s'il doit installer une nouvelle version d'un fichier, répondez de préférence oui puis faites les adaptations nécessaires à votre configuration après la fin de la mise à jour. L'ancien fichier restera disponible, suffixé de .dpkg-old
Cleanup
Supprimez les paquets qui ne sont plus nécessaires
apt autoremove
Identifiez les configurations et fichier résiduels des paquets qui ne sont plus nécessaires
apt list '~c'
Purgez ces paquets
apt purge '~c'
Identifiez et supprimez les paquets obsolètes
Ce sont des paquets qui ne sont plus maintenu par debian.
- Pour les lister :
apt list '~o'
- Pour les supprimer :
apt purge '~o'
Spécificités trixie
Risque de modification du nom des interfaces réseaux
Le dossier des fichiers temporaires /tmp est maintenant un tmpfs
Pour récupérer ou supprimer les anciens fichiers du dossier /tmp il faut faire un bind mount :
mount --bind / /mnt
Les anciens fichiers tmp seront dans /mnt/tmp/
Par défaut, le dossier /tmp
disposera de 50% de la mémoire du système. Vous pouvez modifier l'espace alloué avec systemctl edit tmp.mount
et modifier par exemple :
[Mount] Options=mode=1777,nosuid,nodev,size=2G
Si vous souhaitez retrouver un dossier /tmp
classique (sans tmpfs) :
systemctl mask tmp.mount
Puis redémarrer
Les dossiers /tmp et /var/tmp sont purgés automatiquement
Cette fonctionnalité n'est pas activé automatiquement après l'upgrade. Pour l'activer supprimez le fichier /etc/tmpfiles.d/tmp.conf
:
rm -f /etc/tmpfiles.d/tmp.conf
Après cela, les fichiers dans /tmp
seront automatiquement supprimé après 10 jours et les fichiers dans /var/tmp
après 30 jours
Les paquets isc-dhcp sont dépréciés
Si vous utilisez NetworkManager ou systemd-networkd : rien à faire et vous pouvez supprimer le paquet isc-dhcp-client
.
Si vous utilisez ifupdown, le paquet dhcpcd-base
fourni un client dhcp de remplacement.
si la commande ping ne fonctionne plus pour les utilisateurs
Appendice
https://www.debian.org/releases/trixie/release-notes/upgrading.en.html