aptitude: signification des accolades, c'est-à-dire package1 {b} package2 {a} package3 {u}

14

Lorsque vous utilisez aptitude , la liste des packages modifiés a parfois un seul caractère entre accolades derrière certains noms de packages. La page de manuel en contient deux exemples mais ne les explique pas (version 0.6.10-1).

J'ai remarqué jusqu'à présent {b}, {a} et {u}. Le premier semble apparaître lors de l'exécution aptitude installet essaie de réinstaller les paquets que j'ai supprimés (par exemple via debfoster, comment puis-je désactiver cela?), Les deux derniers semblent avoir quelque chose à voir avec la résolution automatique des dépendances.

Que signifient ces personnages, y en a-t-il d'autres et quelles implications ont-ils pour d'autres opérations? Ces informations supplémentaires sont-elles disponibles pour dpkgou apt?

gris fini
la source

Réponses:

8

Ceux-ci ne sont pas documentés. Je suppose que ac'est pour une installation automatique, upour une mise à niveau (automatique?) Et bpour les packages installés pour réparer les packages cassés.

Cela signifierait debfostersupprimer des paquets qu'il n'est pas censé faire, notez que le site Web dit:

As of 2006-01-01, debfoster is officially deprecated.

Peut-être que cela a développé des bugs au fil des ans en raison de changements dans le aptsystème. Vous pouvez le confirmer en faisant aptitude search '~b'après avoir utilisé debfoster(il listera les paquets cassés).

Notez que aptprend désormais en charge un indicateur automatique pour les packages de dépendance et a apt-get autoremove. Avec aptitude, vous pouvez également faire aptitude remove '~g'.

Mise à jour

En jouant avec aptitude, il s'avère que si j'appuie sur ?lorsque j'obtiens l' Do you want to continue? [Y/n/?]invite, je reçois le message suivant:

In the list of actions to be performed, some packages will be followed by one or
more characters enclosed in braces; for instance: "aptitude{u}".  These
characters provide extra information about the package's state, and can include
any combination of the following:

  'a': the package was automatically installed or removed.
  'b': some of the package's dependencies are violated by the proposed changes.
  'p': the package will be purged in addition to being removed.
  'u': the package is being removed because it is unused.

Il semble donc que ce bsoit censé être pour un paquet cassé. Cependant, dans votre cas, il semble que ce soit un bug qui s'affiche s'il n'y a rien de cassé. Je ne peux pas recréer le problème, mais aptitudeessaie de réinstaller les packages que je supprime avec apt-getjuste sans rien entre accolades.

Notez également que aptitude keep-allc'est probablement plus sûr que de retirer/var/lib/aptitude/pkgstates

Graeme
la source
ps auxfmontre que debfoster ne fait qu'appeler apt-get --purge remove pkg1 pkg2 etc., la recherche '~ b' ne renvoie rien, et la prochaine aptitude installréinstalle pgk1 pkg2 etc.
gris fini
1
@finitegraygreen, je suppose que ce n'est pas pour les paquets cassés alors! Vous pouvez essayer d'utiliser aptitude whypour trouver ce qui se passe ou simplement l' --show-whyoption.
Graeme
@finitegraygreen, quelle a été la conclusion ici? Était bpour cassé après tout ou est-ce que vous aptitude whyavez trouvé une autre raison? Je suis sûr que j'y reviendrai à un moment donné, ce serait bien de savoir ...
Graeme
Eh bien, la conclusion est "Ceux-ci ne sont pas documentés." Et j'ai arrêté l'interférence entre apt-get et aptitude en forçant l'amnésie sur ce dernier via la suppression /var/lib/aptitude/pkgstates. Sinon, je recevrais toujours apt-get remove pkg; aptitude why pkg"Impossible de trouver une raison pour installer"; aptitude installinstalle ensuite pkg.
gris fini
@finitegraygreen, il s'avère qu'il y a une description de ce que cela signifie. Voir la réponse mise à jour.
Graeme
1

Cet article de l'auteur d'aptitude explique {a}et {u}:

  • {a} signifie que le package sera installé en plus de ce que vous avez demandé.
  • {u} signifie que le package n'est pas utilisé par le système et sera supprimé.

Malheureusement, cela n'explique pas {b}.

Ecogeek
la source