# Pourquoi avertissement dpkg lors de mise à jour

**URL:** <https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365>\
**Category:** Support Debian\
**Created:** [Décembre 28, 2023, 12:34 UTC](https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365 "2023-12-28T12:34:59Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Décembre 31, 2023, 1:59 UTC](https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365/21 "2023-12-31T13:59:10Z")

</div>

> [@Verner](#):
>
> 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.

Tu es sûr de ça ? À ma connaissance, dpkg ne mémorise pas quel paquet a créé quel répertoire dans ses informations d’état, et je n’en vois pas l’intérêt. Il me semble plus plausible que dpkg tente de supprimer un répertoire quand plus aucun paquet installé ne le mentionne puisqu’il a la liste des fichiers et répertoires de chaque paquet.

> [@Verner](#):
>
> Ensuite, tous les fichiers de post-installation de paquets ne sont pas nécessairement 100% correctement ajustés dans une **testing**.

Quel rapport avec les scripts de post-installation des paquets ? Ce ne sont pas eux qui suppriment les répertoires vides.

---

<div class="post-metadata">

**Author:** ![Verner](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/34f0e0/32.png) [@Verner](https://www.debian-fr.org/u/Verner)\
**Post date:** [Décembre 31, 2023, 2:35 UTC](https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365/22 "2023-12-31T14:35:15Z")

</div>

Je m’étais abstenu d’intervenir quand j’ai vu l’histoire de l’usbmerge et buster totalement hors sujet pour une testing en me disant mais où ça va encore partir avant que le sujet n’atteigne 100 messages comme certains adorent les faire dériver pour papoter.  
Je répondais à Valentin (voir le début du sujet, pour mémoire) qui utilise une testing sans connaître le comportement de base de dpkg.  
Je me doutais bien que tu attendais une intervention pour relancer (_j’ai du flair pour ça_), redemander une précision, un super détail, un cheveu à recouper en quatre à n’en plus finir, et malheureusment je ne suis pas client pour ça. Désolé.  
Non ce n’est pas ‹&nbsp;dpkg&nbsp;› qui est un binaire qui stocke un historique d’installation, évidemment, mais le mécanisme apt/dpkg qui sait parfaitement ce qui a été créé par qui et par quoi, et qui vérifiera s’il peut supprimer un répertoire avec ou sans avertissement.  
Ce sera tout pour moi. Merci.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Janvier 1, 2024, 9:01 UTC](https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365/23 "2024-01-01T21:01:21Z")

</div>

Tes interventions dans cette discussion sont hors sujet ou fausses.

> [@Verner](#):
>
> Rien de grave, surtout pour du testing

> [@Verner](#):
>
> Du « full-upgrade » sur une **testing**

Hors sujet, les avertissements auraient aussi lieu si une telle mise à jour était faite dans stable ou par un simple «&nbsp;upgrade&nbsp;».

> [@Verner](#):
>
> Lors d’un ‹ dpkg ›, un script de post-installation peut vouloir supprimer certains répertoires

Hors sujet, il s’agit du comportement intrinsèque de dpkg lui-même et non de scripts de post-installation.

> [@Verner](#):
>
> 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.

Hors sujet en effet, tu le reconnais toi-même.

> [@Verner](#):
>
> 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.

Et pourtant si, la fusion d’/usr est bien une des causes de ces avertissements.

> [@Verner](#):
>
> 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.

Ce que j’ai mis en **gras** est faux. L’information que tel répertoire a été créé par l’installation de tel paquet n’est pas mémorisée. La seule information mémorisée est que P1 et P2 utilisent tous les deux le répertoire, donc ce répertoire est censé pouvoir être supprimé lorsque les deux paquets seront désinstallés, quel que soit l’ordre d’installation et de désinstallation.

Les avertissements cités dans le messagfe initial sont exclusivement la conséquence des trois facteurs suivants :

- le comportement propre de dpkg (et non de scripts de post-installation ou suppression) qui tente de supprimer un répertoire lorsque le dernier paquet à qui il appartient est désinstallé
- la mise à jour des paquets systemd et udev qui déplace des fichiers de /bin et /lib vers /usr/bin et /usr/lib
- /lib qui est un lien symbolique pointant vers /usr/lib (/usr fusionné)

> [@Verner](#):
>
> Non ce n’est pas ‹ dpkg › qui est un binaire qui stocke un historique d’installation, évidemment, mais le mécanisme apt/dpkg qui sait parfaitement ce qui a été créé par qui et par quoi

Pitoyable. «&nbsp;Le mécanisme&nbsp;», c’est dpkg. Quant à apt, il n’a rien à voir là-dedans, il ne s’occupe pas de ça.

> [@Verner](#):
>
> Ce sera tout pour moi.

Puisses-tu tenir parole.

[Page précédente](https://www.debian-fr.org/t/pourquoi-avertissement-dpkg-lors-de-mise-a-jour/89365.md?page=1)
