[Linux] Dépendances et apt

Arthur Pons arthur.pons@::1
Jeu 14 Déc 13:32:58 CET 2023


On 14/12/2023 13:13, Olivier Gayot wrote:
> Salut Arthur et les autres,

Salut !

> Je vois déjà des réponses très intéressantes. Je me permets de compléter :)
> 
> On Thu, Dec 14, 2023 at 10:38:04AM +0100, Arthur Pons wrote:
>>
>>>> apt retire toutes les dépendances ajoutées. Après tout mon système
>>>> fonctionnait parfaitement bien sans ces paquets avant. Or, il ne me propose
>>>> de retirer que lowdown.
>>>
>>> la prochaine fois que tu utiliseras apt, tu veras qu'il indique que tu
>>> n'as plus besoin de lowdown et groff.
>>>
>>> 	apt autopurge
>>>
>>> et hop :)
>>
>> Dans la pratique ce n'est pas ce qui se passe. apt autopurge ne me propose
>> de retirer que lowdown. C'est un peu comme si à l'installation de groff et
>> librsvg2-bin, ces paquets étaient soudainement devenus essentiels pour
>> d'autres paquets et qu'il ne veut donc pas les retirer. Pourtant je suis
>> certain que je ne les avais pas avant.
>>
> 
> Le paquet groff a été installé automatiquement car c'est une dépendance
> de tp-ratp. Mais groff est également listé en tant que "Suggest" par
> groff-base. Selon comment APT est configuré, il /peut/ faire le choix de
> supprimer groff lorsque tp-ratp est désinstallé.
> 
> Lorsque tu fais "apt autoremove tp-ratp" (ou "apt autoremove" tout
> court), plutôt que "apt remove tp-ratp", APT identifie les paquets qui
> peuvent être désinstallés automatiquement, c'est à dire les paquets:
> 
>   * qui ne sont pas listés en tant que "Depends" par d'autres paquets
>     installés
>   * qui ne sont pas marqués "installés manuellement"
>   * qui ne sont pas listés en tant que "Recommends" par d'autres paquets
>     installés *si l'option APT::AutoRemove::RecommendsImportant est activée*
>   * qui ne sont pas listés en tant que "Suggests" par d'autres paquets
>   * installés *si l'option APT::AutoRemove::SuggestsImportant est activée*
> 
> Dans ton cas, groff est listé en tant que "Suggests" par groff-base,
> donc il ne sera pas supprimé automatiquement si l'option
> APT::AutoRemove::SuggestsImportant est activée.

Ooooh. Tout fait sens dorénavant.

> 
>    # apt autoremove tp-ratp -o 'APT::AutoRemove::SuggestsImportant=true'
>    The following packages will be REMOVED:
>      lowdown tp-ratp
> 
>    # apt autoremove tp-ratp -o 'APT::AutoRemove::SuggestsImportant=false'
>    The following packages will be REMOVED:
>      apt-config-icons attr avahi-autoipd avahi-utils breeze-icon-theme cups-bsd cups-pk-helper db5.3-util
>      debconf-kde-data debconf-kde-helper exfatprogs f2fs-tools file-roller finalrd gir1.2-dbusmenu-glib-0.4
>      gir1.2-dee-1.0 gir1.2-notify-0.7 gir1.2-secret-1 gir1.2-unity-7.0 groff gvfs-backends hplip hplip-data iw
>      libasound2-plugins libcanberra-pulse libdebconf-kde1 libdee-1.0-4 libgdata-common libgdata22 libhpmud0
>      libkf5completion-data libkf5completion5 libkf5sonnet5-data libkf5sonnetcore5 libkf5sonnetui5
>      libkf5textwidgets-data libkf5textwidgets5 liblcms2-utils libpulsedsp libqrencode4 libreoffice-style-breeze
>      libreoffice-style-elementary libreoffice-style-yaru librsvg2-bin libsane-hpaio libunity-protocol-private0
>      libunity-scopes-json-def-desktop libunity9 libwmf-0.2-7-gtk lowdown mdadm mtools printer-driver-hpcups
>      printer-driver-postscript-hp psutils pulseaudio-utils python3-bcrypt python3-cups python3-cupshelpers
>      system-config-printer system-config-printer-common system-config-printer-udev tp-ratp ttf-bitstream-vera
>      ubuntu-wallpapers-kinetic ubuntu-wallpapers-lunar ufw util-linux-extra wamerican wbrazilian wbritish
>      wfrench wngerman wogerman wportuguese wspanish wswiss xfonts-scalable xorg-docs-core

Ah oui, je comprends que ça ne soit pas forcément souhaitable comme 
comportement. Chez moi y'a moins de choses mais je vois l'idée.

Les paquets suivants seront ENLEVÉS :
   groff librsvg2-bin lowdown psutils python3-packaging tp-ratp

> A noter que tous les paquets dans cette liste qui n'ont rien à voir sont
> tous des paquets qui avaient été installés automatiquement un jour (pour
> satisfaire telle ou telle dépendance) et qu'APT a décidé de conserver
> car:
> 
>   * ils sont listés en tant que "Suggests" par d'autres paquets
>   * j'ai l'option APT::AutoRemove::SuggestsImportant activée
> 
> Je ne connais pas de moyen de faire un "apt autoremove tp-ratp" qui soit
> "sélectif". Je veux dire par là qu'il aille supprimer /seulement/ les
> paquets qui avaient été installés en tant que dépendance de tp-ratp.
> Ça reviendrait en gros a faire l'"inverse" de "apt install tp-ratp" mais
> je ne crois pas que ce soit possible.

Entendu. Avec un regard naïf ça paraît un peu surprenant. En même temps 
je n'avais jamais vraiment pris le temps de comprendre comment apt 
fonctionne donc naturellement je me disais "remove = l'inverse d'install".

Merci beaucoup pour toutes ces précisions et bonne journée :)
Arthur



Plus d'informations sur la liste de diffusion linux