[Linux] Dépendances et apt
Olivier Gayot
olivier.gayot@::1
Jeu 14 Déc 13:13:05 CET 2023
Salut Arthur et les autres,
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.
# 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
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.
> > > apt-cache rdepends --installed groff
> > > groff
> > > Reverse Depends:
> > > tp-ratp
> > > groff:i386
> > > man-db
> > > groff:i386
> > > groff-base
> > > groff:i386
> > >
> > > Groff est donc nécessaire à groff-base ? Pourtant j'avais groff-base mais
> >
> > non. `apt show groff` montre que groff n'est que suggéré et
> >
> > apt-cache rdepends --installed --no-suggests groff
> > te le confirme. par contre les suggestions ne sont pas forcement
> > installées:
> >
> > grep -RFi sug /etc/apt/apt.conf.d/
> > /etc/apt/apt.conf.d/00norecommend:APT::Install-Suggests "false";
> >
> > si cette sortie t'ennuie, je pense que tu dois pouvoir mettre APT::Cache::ShowSuggests
> > à false aussi.
Il y a aussi la commande "apt rdepends" plus sympa a utiliser (ça
affiche les types de dépendances (Suggests, Depends, Recommends)
$ apt rdepends --installed groff
groff
Reverse Depends:
Suggests: groff-base
groff:i386
Depends: tp-ratp
groff:i386
Suggests: pandoc
groff:i386
Suggests: man-db
groff:i386
Olivier
Plus d'informations sur la liste de diffusion linux