Pourquoi avertissement dpkg lors de mise à jour

Bonjour à tous,

J’ai une Debian Trixie (testing) en VM, et lors d’une mise à jour avec apt full-upgrade j’ai plusieurs message dpkg: avertissement: impossible de supprimer l'ancien répertoire

Même si ce n’est pas critique je voudrais savoir pourquoi cela ce produit, comment résoudre ces problèmes pour apprendre mieux le fonctionnement de Debian.
J’ai regarder un peu sur le wiki de debian et sur les manuels de debian mais je n’ai pas trouvé.

Voici le resultat de apt full-upgrade :

apt full-upgrade 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
  acl cpio exim4-base exim4-config exim4-daemon-light gstreamer1.0-plugins-good gstreamer1.0-plugins-good:i386 libacl1 libattr1 libcap-ng0 libinput-bin libinput10 libnss-systemd
  libp11-kit0 libp11-kit0:i386 libpam-systemd libqt6core6 libqt6dbus6 libqt6gui6 libqt6network6 libqt6opengl6 libqt6widgets6 libsystemd-shared libsystemd0 libsystemd0:i386 libudev1
  libudev1:i386 p11-kit p11-kit-modules qt6-gtk-platformtheme qt6-qpa-plugins systemd systemd-dev systemd-sysv systemd-timesyncd udev xserver-common xserver-xorg-core xserver-xorg-legacy
39 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 34,4 Mo dans les archives.
Après cette opération, 1 384 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Réception de :1 http://deb.debian.org/debian trixie/main amd64 libnss-systemd amd64 255.2-2 [187 kB]
Réception de :2 http://deb.debian.org/debian trixie/main amd64 xserver-common all 2:21.1.10-1 [2 385 kB]
Réception de :3 http://deb.debian.org/debian trixie/main amd64 xserver-xorg-legacy amd64 2:21.1.10-1 [2 390 kB]
Réception de :4 http://deb.debian.org/debian trixie/main amd64 systemd-dev all 255.2-2 [57,6 kB]
Réception de :5 http://deb.debian.org/debian trixie/main amd64 acl amd64 2.3.1-4 [61,2 kB]
Réception de :6 http://deb.debian.org/debian trixie/main amd64 libacl1 amd64 2.3.1-4 [31,8 kB]
Réception de :7 http://deb.debian.org/debian trixie/main amd64 systemd-timesyncd amd64 255.2-2 [71,0 kB]
Réception de :8 http://deb.debian.org/debian trixie/main amd64 libsystemd-shared amd64 255.2-2 [1 931 kB]
Réception de :9 http://deb.debian.org/debian trixie/main amd64 libsystemd0 amd64 255.2-2 [361 kB]
Réception de :10 http://deb.debian.org/debian trixie/main i386 libsystemd0 i386 255.2-2 [383 kB]
Réception de :11 http://deb.debian.org/debian trixie/main amd64 xserver-xorg-core amd64 2:21.1.10-1 [3 723 kB]
Réception de :12 http://deb.debian.org/debian trixie/main amd64 libpam-systemd amd64 255.2-2 [258 kB]
Réception de :13 http://deb.debian.org/debian trixie/main amd64 systemd amd64 255.2-2 [3 522 kB]
Réception de :14 http://deb.debian.org/debian trixie/main amd64 udev amd64 255.2-2 [1 791 kB]
Réception de :15 http://deb.debian.org/debian trixie/main i386 libudev1 i386 255.2-2 [126 kB]
Réception de :16 http://deb.debian.org/debian trixie/main amd64 libudev1 amd64 255.2-2 [123 kB]
Réception de :17 http://deb.debian.org/debian trixie/main amd64 systemd-sysv amd64 255.2-2 [48,3 kB]
Réception de :18 http://deb.debian.org/debian trixie/main amd64 libattr1 amd64 1:2.5.1-5 [22,5 kB]
Réception de :19 http://deb.debian.org/debian trixie/main amd64 libcap-ng0 amd64 0.8.4-1 [16,9 kB]
Réception de :20 http://deb.debian.org/debian trixie/main amd64 p11-kit-modules amd64 0.25.3-4 [272 kB]
Réception de :21 http://deb.debian.org/debian trixie/main i386 libp11-kit0 i386 0.25.3-4 [416 kB]
Réception de :22 http://deb.debian.org/debian trixie/main amd64 libp11-kit0 amd64 0.25.3-4 [418 kB]
Réception de :23 http://deb.debian.org/debian trixie/main amd64 cpio amd64 2.14+dfsg-1 [249 kB]
Réception de :24 http://deb.debian.org/debian trixie/main amd64 exim4-config all 4.97-3 [247 kB]
Réception de :25 http://deb.debian.org/debian trixie/main amd64 exim4-base amd64 4.97-3 [1 129 kB]
Réception de :26 http://deb.debian.org/debian trixie/main amd64 exim4-daemon-light amd64 4.97-3 [614 kB]
Réception de :27 http://deb.debian.org/debian trixie/main amd64 gstreamer1.0-plugins-good amd64 1.22.8-3 [2 263 kB]
Réception de :28 http://deb.debian.org/debian trixie/main i386 gstreamer1.0-plugins-good i386 1.22.8-3 [2 342 kB]
Réception de :29 http://deb.debian.org/debian trixie/main amd64 libinput-bin amd64 1.23.0-2.1 [23,8 kB]
Réception de :30 http://deb.debian.org/debian trixie/main amd64 libinput10 amd64 1.23.0-2.1 [127 kB]
Réception de :31 http://deb.debian.org/debian trixie/main amd64 libqt6core6 amd64 6.4.2+dfsg-20 [1 632 kB]
Réception de :32 http://deb.debian.org/debian trixie/main amd64 libqt6dbus6 amd64 6.4.2+dfsg-20 [250 kB]
Réception de :33 http://deb.debian.org/debian trixie/main amd64 libqt6network6 amd64 6.4.2+dfsg-20 [686 kB]
Réception de :34 http://deb.debian.org/debian trixie/main amd64 libqt6gui6 amd64 6.4.2+dfsg-20 [2 864 kB]
Réception de :35 http://deb.debian.org/debian trixie/main amd64 qt6-qpa-plugins amd64 6.4.2+dfsg-20 [89,1 kB]
Réception de :36 http://deb.debian.org/debian trixie/main amd64 libqt6opengl6 amd64 6.4.2+dfsg-20 [391 kB]
Réception de :37 http://deb.debian.org/debian trixie/main amd64 libqt6widgets6 amd64 6.4.2+dfsg-20 [2 455 kB]
Réception de :38 http://deb.debian.org/debian trixie/main amd64 p11-kit amd64 0.25.3-4 [397 kB]
Réception de :39 http://deb.debian.org/debian trixie/main amd64 qt6-gtk-platformtheme amd64 6.4.2+dfsg-20 [57,4 kB]
34,4 Mo réceptionnés en 1s (23,3 Mo/s)            
Lecture des fichiers de modifications (« changelog »)... Terminé
Extraction des modèles depuis les paquets : 100%
Préconfiguration des paquets...
setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file
(Lecture de la base de données... 121017 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../0-libnss-systemd_255.2-2_amd64.deb ...
Dépaquetage de libnss-systemd:amd64 (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../1-xserver-common_2%3a21.1.10-1_all.deb ...
Dépaquetage de xserver-common (2:21.1.10-1) sur (2:21.1.9-1) ...
Préparation du dépaquetage de .../2-xserver-xorg-legacy_2%3a21.1.10-1_amd64.deb ...
Dépaquetage de xserver-xorg-legacy (2:21.1.10-1) sur (2:21.1.9-1) ...
Préparation du dépaquetage de .../3-systemd-dev_255.2-2_all.deb ...
Dépaquetage de systemd-dev (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../4-acl_2.3.1-4_amd64.deb ...
Dépaquetage de acl (2.3.1-4) sur (2.3.1-3+b1) ...
Préparation du dépaquetage de .../5-libacl1_2.3.1-4_amd64.deb ...
Dépaquetage de libacl1:amd64 (2.3.1-4) sur (2.3.1-3+b1) ...
Paramétrage de libacl1:amd64 (2.3.1-4) ...
(Lecture de la base de données... 121019 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../systemd-timesyncd_255.2-2_amd64.deb ...
Dépaquetage de systemd-timesyncd (255.2-2) sur (254.5-1) ...
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/ntp-units.d » : Le dossier n'est pas vide
Préparation du dépaquetage de .../libsystemd-shared_255.2-2_amd64.deb ...
Dépaquetage de libsystemd-shared:amd64 (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../libsystemd0_255.2-2_i386.deb ...
Déconfiguration de libsystemd0:amd64 (254.5-1), pour permettre la configuration de libsystemd0:i386 (255.2-2) ...
Dépaquetage de libsystemd0:i386 (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../libsystemd0_255.2-2_amd64.deb ...
Dépaquetage de libsystemd0:amd64 (255.2-2) sur (254.5-1) ...
Paramétrage de libsystemd0:amd64 (255.2-2) ...
(Lecture de la base de données... 121019 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../0-xserver-xorg-core_2%3a21.1.10-1_amd64.deb ...
Dépaquetage de xserver-xorg-core (2:21.1.10-1) sur (2:21.1.9-1) ...
Préparation du dépaquetage de .../1-libpam-systemd_255.2-2_amd64.deb ...
Dépaquetage de libpam-systemd:amd64 (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../2-systemd_255.2-2_amd64.deb ...
Dépaquetage de systemd (255.2-2) sur (254.5-1) ...
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system-preset » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system-generators » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/user@0.service.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/user@.service.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/user-.slice.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/timers.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/systemd-localed.service.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/rescue.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/rc-local.service.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/multi-user.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/initrd.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/initrd-root-fs.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/initrd-root-device.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/graphical.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/getty.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/journald.conf.d » : Le dossier n'est pas vide
Préparation du dépaquetage de .../3-udev_255.2-2_amd64.deb ...
Dépaquetage de udev (255.2-2) sur (254.5-1) ...
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/systemd-udevd.service.d » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/sysinit.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/system/sockets.target.wants » : Le dossier n'est pas vide
dpkg: avertissement: impossible de supprimer l'ancien répertoire  « /lib/systemd/network » : Le dossier n'est pas vide
Préparation du dépaquetage de .../4-libudev1_255.2-2_amd64.deb ...
Déconfiguration de libudev1:i386 (254.5-1), pour permettre la configuration de libudev1:amd64 (255.2-2) ...
Dépaquetage de libudev1:amd64 (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../5-libudev1_255.2-2_i386.deb ...
Dépaquetage de libudev1:i386 (255.2-2) sur (254.5-1) ...
Paramétrage de libsystemd-shared:amd64 (255.2-2) ...
Paramétrage de systemd-dev (255.2-2) ...
Paramétrage de systemd (255.2-2) ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/journald.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/logind.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/networkd.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/pstore.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/sleep.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/system.conf ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/user.conf ...
(Lecture de la base de données... 121098 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../systemd-sysv_255.2-2_amd64.deb ...
Dépaquetage de systemd-sysv (255.2-2) sur (254.5-1) ...
Préparation du dépaquetage de .../libattr1_1%3a2.5.1-5_amd64.deb ...
Dépaquetage de libattr1:amd64 (1:2.5.1-5) sur (1:2.5.1-4+b1) ...
Paramétrage de libattr1:amd64 (1:2.5.1-5) ...
(Lecture de la base de données... 121098 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libcap-ng0_0.8.4-1_amd64.deb ...
Dépaquetage de libcap-ng0:amd64 (0.8.4-1) sur (0.8.3-3) ...
Paramétrage de libcap-ng0:amd64 (0.8.4-1) ...
(Lecture de la base de données... 121098 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../00-p11-kit-modules_0.25.3-4_amd64.deb ...
Dépaquetage de p11-kit-modules:amd64 (0.25.3-4) sur (0.25.3-2) ...
Préparation du dépaquetage de .../01-libp11-kit0_0.25.3-4_amd64.deb ...
Déconfiguration de libp11-kit0:i386 (0.25.3-2), pour permettre la configuration de libp11-kit0:amd64 (0.25.3-4) ...
Dépaquetage de libp11-kit0:amd64 (0.25.3-4) sur (0.25.3-2) ...
Préparation du dépaquetage de .../02-libp11-kit0_0.25.3-4_i386.deb ...
Dépaquetage de libp11-kit0:i386 (0.25.3-4) sur (0.25.3-2) ...
Préparation du dépaquetage de .../03-cpio_2.14+dfsg-1_amd64.deb ...
Dépaquetage de cpio (2.14+dfsg-1) sur (2.13+dfsg-7.1) ...
Préparation du dépaquetage de .../04-exim4-config_4.97-3_all.deb ...
Dépaquetage de exim4-config (4.97-3) sur (4.97-2) ...
Préparation du dépaquetage de .../05-exim4-base_4.97-3_amd64.deb ...
Dépaquetage de exim4-base (4.97-3) sur (4.97-2) ...
Préparation du dépaquetage de .../06-exim4-daemon-light_4.97-3_amd64.deb ...
Dépaquetage de exim4-daemon-light (4.97-3) sur (4.97-2) ...
Préparation du dépaquetage de .../07-gstreamer1.0-plugins-good_1.22.8-3_i386.deb ...
Déconfiguration de gstreamer1.0-plugins-good:amd64 (1.22.7-1), pour permettre la configuration de gstreamer1.0-plugins-good:i386 (1.22.8-3) ...
Dépaquetage de gstreamer1.0-plugins-good:i386 (1.22.8-3) sur (1.22.7-1) ...
Préparation du dépaquetage de .../08-gstreamer1.0-plugins-good_1.22.8-3_amd64.deb ...
Dépaquetage de gstreamer1.0-plugins-good:amd64 (1.22.8-3) sur (1.22.7-1) ...
Préparation du dépaquetage de .../09-libinput-bin_1.23.0-2.1_amd64.deb ...
Dépaquetage de libinput-bin (1.23.0-2.1) sur (1.23.0-2) ...
Préparation du dépaquetage de .../10-libinput10_1.23.0-2.1_amd64.deb ...
Dépaquetage de libinput10:amd64 (1.23.0-2.1) sur (1.23.0-2) ...
Préparation du dépaquetage de .../11-libqt6core6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6core6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../12-libqt6dbus6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6dbus6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../13-libqt6network6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6network6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../14-libqt6gui6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6gui6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../15-qt6-qpa-plugins_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de qt6-qpa-plugins:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../16-libqt6opengl6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6opengl6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../17-libqt6widgets6_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de libqt6widgets6:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Préparation du dépaquetage de .../18-p11-kit_0.25.3-4_amd64.deb ...
Dépaquetage de p11-kit (0.25.3-4) sur (0.25.3-2) ...
Préparation du dépaquetage de .../19-qt6-gtk-platformtheme_6.4.2+dfsg-20_amd64.deb ...
Dépaquetage de qt6-gtk-platformtheme:amd64 (6.4.2+dfsg-20) sur (6.4.2+dfsg-19) ...
Paramétrage de cpio (2.14+dfsg-1) ...
Paramétrage de systemd-sysv (255.2-2) ...
Paramétrage de gstreamer1.0-plugins-good:amd64 (1.22.8-3) ...
Paramétrage de gstreamer1.0-plugins-good:i386 (1.22.8-3) ...
Paramétrage de libnss-systemd:amd64 (255.2-2) ...
Paramétrage de libqt6core6:amd64 (6.4.2+dfsg-20) ...
Paramétrage de libsystemd0:i386 (255.2-2) ...
Paramétrage de acl (2.3.1-4) ...
Paramétrage de libp11-kit0:amd64 (0.25.3-4) ...
Paramétrage de libp11-kit0:i386 (0.25.3-4) ...
Paramétrage de systemd-timesyncd (255.2-2) ...
Installation de la nouvelle version du fichier de configuration /etc/dhcp/dhclient-exit-hooks.d/timesyncd ...
Installation de la nouvelle version du fichier de configuration /etc/systemd/timesyncd.conf ...
Paramétrage de libudev1:amd64 (255.2-2) ...
Paramétrage de libudev1:i386 (255.2-2) ...
Paramétrage de exim4-config (4.97-3) ...
Paramétrage de libpam-systemd:amd64 (255.2-2) ...
Paramétrage de xserver-common (2:21.1.10-1) ...
Paramétrage de xserver-xorg-legacy (2:21.1.10-1) ...
setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file
Paramétrage de libqt6dbus6:amd64 (6.4.2+dfsg-20) ...
Paramétrage de exim4-base (4.97-3) ...
exim4-base.service is a disabled or a static unit not running, not starting it.
Paramétrage de libinput-bin (1.23.0-2.1) ...
Paramétrage de p11-kit-modules:amd64 (0.25.3-4) ...
Paramétrage de udev (255.2-2) ...
Installation de la nouvelle version du fichier de configuration /etc/udev/iocost.conf ...
Paramétrage de libqt6network6:amd64 (6.4.2+dfsg-20) ...
Paramétrage de p11-kit (0.25.3-4) ...
Paramétrage de exim4-daemon-light (4.97-3) ...
Paramétrage de libinput10:amd64 (1.23.0-2.1) ...
Paramétrage de xserver-xorg-core (2:21.1.10-1) ...
Paramétrage de libqt6gui6:amd64 (6.4.2+dfsg-20) ...
Paramétrage de qt6-gtk-platformtheme:amd64 (6.4.2+dfsg-20) ...
Paramétrage de qt6-qpa-plugins:amd64 (6.4.2+dfsg-20) ...
Paramétrage de libqt6opengl6:amd64 (6.4.2+dfsg-20) ...
Paramétrage de libqt6widgets6:amd64 (6.4.2+dfsg-20) ...
Traitement des actions différées (« triggers ») pour initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.5.0-5-amd64
Traitement des actions différées (« triggers ») pour libc-bin (2.37-12) ...
Traitement des actions différées (« triggers ») pour man-db (2.12.0-1) ...
Traitement des actions différées (« triggers ») pour dbus (1.14.10-3) ...

Merci de votre aide

Rien de grave, surtout pour du testing, juste avertissement.
Lors d’un ‹ dpkg ›, un script de post-installation peut vouloir supprimer certains répertoires, mais ne le fait pas si des fichiers qui ne lui appartiennent pas sont trouvés dans ce répertoire.
dpkg avertit, pour vérification éventuelle, mais non nécessaire ici.

Oui je me suis douté que ce n’étais pas grave, c’est de la simple curiosité pour en apprendre plus sur le fonctionnement de debian.
En gros si je comprend bien les dossiers que dpkg veux supprimé ne sont plus utiles, et les nouveaux paquets qui s’installent se mettent dans un autres dossier?
On pourrait supprimé manuellement les dossiers que dpkg met un avertissement sans problèmes car ils sont inutiles (Je ne veux pas le faire mais juste pour savoir)?

Pas exactement, quand dpkg installe ou désinstalle un paquet, il y a des scripts de post et pré installation qui gèrent les répertoires (pour les créer, ou les supprimer par exemple).
Mais comme certains répertories sont utilisés par différents paquets, si celui-ci n’est pas vide il affiche un avertissement pour indiquer qu’il n’a pas pu le faire.
C’est pour éviter de supprimer un répertoire utilisé par un autre paquet.

Ok merci beaucoup.

Je pensais que c’était genre des paquets obsolète ou des dépendances de l’ancienne versions du paquets que dpkg installe mais je me disait normalement avec full-upgrade ils supprime ce qui est obsolète mais je ne comprenait pas pourquoi il arrivait pas à les supprimer.
Je suis entrain de lire les books sur debian pour apprendre mais c’est long, il y a beaucoup lol

Du « full-upgrade » sur une testing à partir de je ne sais pas quoi, je serais toi, je serais plus prudent si tu t’inquiètes à chaque message d’avertissement.
Juste se souvenir qu’une testing n’est pas une stable, et il peut se passer des choses d’ordre secondaire, ou pas.

Et tu conseillerai de faire quoi à la place de « full-upgrade » sur testing?

C’est pas que je m’inquiète juste je voulais comprendre.

Personnellement, j’ai des scripts pour avoir une vue d’ensemble avant d’effectuer une mise à jour, par versions, et décider au cas par cas.
Je ne fais jamais de « full-upgrade », car potentiellement difficile à démêler en cas de problème (même si très rare pour une testing).
Il n’y a jamais d’urgence de mise à jour pour ‹ tous › les paquets dont une évolution peut se résumer à une traduction ajoutée, ou correction mineure.
Sauter immédiatement sur tout ce qui bouge dans une testing ne sert à rien.

Tu peux être plus progressif:
apt update
apt list -u

Si tu vois beaucoup de paquets systemd par exemple:
apt list -u '*systemd*'
pour voir si les versions sont bien homogènes, et si OK, tu mets à jour ce que tu considères utile.

Enfin, tant que rien ne casse… chacun fait un peu selon son feeling, il n’y a pas de règles absolues.

D’accord, oui je fait apt list --upgradable comme c’est indiqué après avoir fait un apt update

Comment tu fais pour voir si les versions sont bien homogènes et si c’est utiles de les faire?
Autant pour les paquets que je connais style une appli ca va mais pour les libs, systemd etc comment savoir si c’est utiles de les faire?
Et autre question, comment faire pour choisir les paquets que tu veux mettre à jour (comme pour l’exemple que j’ai mis, il y a 39 paquets) ? A part les taper un par un?

C’est possible de partager tes scripts?

J’utilise une testing (/ mix sid), et j’ai 489 propositions de mises à jour, que je ne fais pas.
exemple simple:
zstd de 1.5.5+dfsg2-1 à 1.5.5+dfsg2-2
dfsg2-1/2 : perte de temps, j’attends par exemple une version 1.5.6

Ce sont en fait des fonctions qui dépendent d’autres fonctions, pas vraiment conçues pour être partagées, et difficiles à interpréter avec du awk+substr, et sed dans tous les sens.
Leurs buts est d’extraire des différentiels de versions suffisemment conséquents qui peuvent m’intéresser.

Ces messages sont dus au déplacement de systemd (qui comprend aussi udev) vers /usr dans un système avec /usr fusionné.
Anciens chemins : /bin, /lib, /sbin
Nouveaux chemins : /usr/bin, /usr/lib, /usr/sbin
Dans un système avec /usr fusionné, /bin, /lib, /sbin sont des liens symboliques pointant vers /usr/bin, /usr/lib, /usr/sbin donc en réalité les emplacements sont les mêmes mais dpkg ne le sait pas, d’où sa surprise de trouver des fichiers (ceux qu’il vient d’installer) dans les anciens chemins censés être vides.

Cela va probablement encore se produire avec d’autres paquets qui vont aussi faire leur transition vers /usr.

@Verner Oui c’est sur que des petits saut de version comme tu l’explique ne valent pas le coup d’etre mise à jour hormis un besoin spécifique.
Ok pas de soucis.

@PascalHambourg Ah ça me parle, j’ai vu la vidéo de Adrien linuxtricks qui parle de fusion /usr/bin sur fedora.
J’imagine que dans le temps dpkg va être modifié pour savoir que les chemins on été fusionné?

Valable bien sur que sur la SID.

Pas sûr : d’après ce que j’ai lu le mainteneur principal de dpkg a toujours été très réticent à prendre en compte /usr fusionné. Je soupçonne que c’est en partie à cause ce cela que des paquets migrent vers /usr. Éventuellement, dpkg pourrait prendre en compte les chemins canoniques. Exemple :

  • suite à une mise à jour, d’après la base de données de fichiers des paquets installés /lib/udev est censé être vide et pouvoir être supprimé
  • le chemin canonique de /lib/udev est /usr/lib/udev
  • d’après la base de données de fichiers des paquets installés, /usr/lib/udev n’est pas vide
  • donc il n’y a pas lieu d’afficher l’avertissement.

@Zargos Oui bien-sur

@PascalHambourg Oui ça serait mieux, car a force il y aura de plus en plus d’avertissement si dpkg ne fait rien.
Pourtant si debian à choisi de fusionné /usr ils on bien du être tous d’accord donc dans la logique le mainteneur de dpkg devrais suivre l’avis de debian. C’est un peu contradictoire de maintenir quelque chose sur une distribution avec lequel on n’est pas d’accord des choix quel fait non?

Pour le moment ces avertissements à cause de la migration de paquets vers /usr se produisent seulement dans sid et testing. Pour la distribution stable ils ne se produiront qu’une fois, lors de la mise à niveau vers la prochaine version stable, trixie. Si rien n’est fait pour les supprimer, j’ose espérer que cela figurera dans les notes de publication de trixe. D’autre part cela ne concerne pas énormément de paquets [~80 chez moi) car la plupart sont déjà installés dans /usr. Les programmes installés dans /bin, /lib et /sbin sont essentiellement des commandes de base et des programmes « système ».

Pas du tout, loin de là. Il y a eu des débats enflammés, voire des conflits ouverts entre développeurs Debian sur l’opportunité de la fusion d’/usr et la façon d’y parvenir. Le mainteneur de dpkg était en faveur d’une autre approche que celle qui a été retenue.

1 J'aime

D’accord, je viens de lire des sujets sur ce forum et autres pour comprendre un peu cette fusion.
Je pensais pas que ça avait provoqué de tels conflits (après je suis trop débutant pour comprendre les avantages et inconvénient de cette fusion)
Après maintenant c’est fait donc malheureusement pour ceux qui sont contre il n’y a plus le choix hormis changer de distribution qui n’a pas fait cette fusion ou peut être crée soit même pour ne pas avoir la fusion sur debian
J’ai vu qu’il parle d’un paquet usrmerge faut t’il l’installé?

Installer le paquet usrmerge n’est utile que pour convertir un système avec /usr non fusionné, installé avec une version antérieure à buster. bookworm a introduit un nouveau méta-paquet usr-is-merged qui ne peut être installé avec succès que sur un système avec/usr fusionné, et une dépendance de l’un ou l’autre a été ajoutée à un paquet essentiel pour compléter la transition.

D’accord, merci beaucoup. C’est super intéressant de comprendre un petit peu

Pas du tout ! Lors d’une micro modification d’un paquet SID qui peut se résumer à une correction typographique, il n’y a aucune raison que le paquet reste bloqué en SID puisqu’il n’y a rien à tester.
Exemples de micro variation testing pure (sans SID).

tar             			1.34+dfsg-1.2      1.34+dfsg-1.4
tmux      					3.3a-3             3.3a-5  
vlc-bin    					3.0.20-1           3.0.20-1+b1 
zstd       					1.5.5+dfsg2-1      1.5.5+dfsg2-2 

vlc-bin                     3.0.20-1   3.0.20-1+b1 
vlc-plugin-access-extra     3.0.20-1   3.0.20-1+b1 
vlc-plugin-base             3.0.20-1   3.0.20-1+b1 
vlc-plugin-qt               3.0.20-1   3.0.20-1+b1 
vlc-plugin-video-output     3.0.20-1   3.0.20-1+b1 
vlc                         3.0.20-1   3.0.20-1+b1 

Ce n’est certes pas vraiment l’endroit idéal pour détailler ça dans un sujet sur la compréhension du fonctionnement basique de dpkg.

@valentin
Comment dire … Les circonvolutions à partir de buster sur /bin et /lib qui sont des liens devenus des liens vers /usr/bin /usr/lib, de l’histoire ancienne pour une testing (!) ne t’aidera pas à comprendre le fonctionnement de dpkg dont tu as besoin. Tu risques de te noyer dans un verre d’eau.
Pour analyser ton cas spécifique, il faudrait commencer par se plonger dans l’historique de ton installation, ce qui n’aurait strictement aucun intérêt. Si pas convaincu, je reformule mon premier message en plus clair peut-être.

Lorsqu’un paquet P1 est installé, les répertoires non exitants dont il a besoin pour copier les fichiers seront automatiquement créés, et l’installation gardera ça en mémoire.
Si un paquet P2 est ensuite installé, ayant besoin de partager un répertoire créé par P1, la désinstallation de P1 avertira qu’il ne s’autorise pas à supprimer un répertoire qu’il a créé, car vérifie si pas utilisé par aure chose.
Ensuite, tous les fichiers de post-installation de paquets ne sont pas nécessairement 100% correctement ajustés dans une testing.
Il y a des milliers de paquets, et particulièrement dans une testing dont l’historique est inconnu, tu as certainement eu ce genre de messages que tu n’as pas remarqués, et tu en verras plein d’autres !!
nb :découvrir le fonctionnement de dpkg sur une testing n’est franchement pas idéal.