aptitude: Bedeutung der geschweiften Klammern, dh package1 {b} package2 {a} package3 {u}


14

Bei Verwendung von aptitude enthält die Liste der geänderten Pakete manchmal ein einzelnes Zeichen in geschweiften Klammern hinter einigen Paketnamen. Die Manpage enthält zwei Beispiele, erklärt sie jedoch nicht (Version 0.6.10-1).

Bisher habe ich {b}, {a} und {u} bemerkt. Ersteres scheint beim Ausführen zu erscheinen aptitude installund versucht, die gelöschten Pakete erneut zu installieren (z. B. über debfoster, wie kann ich das deaktivieren?), Die beiden letzteren scheinen etwas mit der automatischen Auflösung von Abhängigkeiten zu tun zu haben.

Was bedeuten diese Zeichen, gibt es andere und welche Auswirkungen haben sie auf andere Operationen? Stehen diese zusätzlichen Informationen zur Verfügung dpkgoder apt?

Antworten:


8

Diese sind nicht dokumentiert. Ich vermute, das aist für eine automatische Installation, ufür ein (automatisches?) Upgrade und bfür Pakete, die installiert wurden, um defekte Pakete zu reparieren.

Dies würde bedeuten, debfosterdass Pakete entfernt werden, die nicht entfernt werden sollen. Beachten Sie, dass auf der Website Folgendes steht:

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

Möglicherweise hat dies im Laufe der Jahre Fehler aufgrund von Änderungen im aptSystem entwickelt. Sie können dies bestätigen, indem Sie dies aptitude search '~b'nach der Verwendung tun debfoster(es werden beschädigte Pakete aufgelistet).

Beachten Sie, dass aptjetzt ein automatisches Flag für Abhängigkeitspakete unterstützt und hat apt-get autoremove. Mit Eignung können Sie auch tun aptitude remove '~g'.

Aktualisieren

Wenn ich mit Eignung herumspiele, stellt sich heraus, dass die folgende Meldung angezeigt wird, wenn ich drücke, ?wenn ich die Do you want to continue? [Y/n/?]Eingabeaufforderung erhalte:

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.

Es scheint also, dass bes sich um ein kaputtes Paket handeln soll. In Ihrem Fall scheint es sich jedoch um einen Fehler zu handeln, der angezeigt wird, wenn nichts kaputt ist. Ich kann das Problem nicht neu erstellen, aptitudeversuche jedoch, Pakete, die ich entferne, apt-getohne geschweifte Klammern neu zu installieren .

Beachten Sie auch, dass dies aptitude keep-allwahrscheinlich sicherer ist als das Entfernen/var/lib/aptitude/pkgstates


ps auxfzeigt, dass debfoster nur anruft apt-get --purge remove pkg1 pkg2 etc., die Suche '~ b' nichts zurückgibt und das nächste aptitude installpgk1 pkg2 usw. neu installiert
endlich graugrün

1
@finitegraygreen, dann ist es wohl nichts für kaputte Pakete! Sie könnten versuchen, mit aptitude whyzu finden, was passiert, oder nur die --show-whyOption.
Graeme

@finitegraygreen, was war die Schlussfolgerung hier? War bdenn doch kaputt oder tauchte aptitude whyein anderer Grund auf? Ich bin mir sicher, dass ich irgendwann wieder darauf stoßen werde, wäre schön zu wissen ...
Graeme

Die Schlussfolgerung lautet: "Diese sind nicht dokumentiert." Und ich habe die Interferenz zwischen apt-get und aptitude gestoppt, indem ich letzterem durch Löschen eine Amnesie aufgezwungen habe /var/lib/aptitude/pkgstates. Andernfalls erhalte ich immer noch die Meldung apt-get remove pkg; aptitude why pkg"Es wurde kein Grund für die Installation gefunden". aptitude installInstalliert dann pkg.
endliche graugrün

@finitegraygreen, es stellt sich heraus, dass es eine Beschreibung dessen gibt, was diese bedeuten. Siehe die aktualisierte Antwort.
Graeme

1

Dieser Beitrag des Aptitude-Autors erklärt {a}und {u}:

  • {a} bedeutet, dass das Paket zusätzlich zu dem, wonach Sie gefragt haben, installiert wird.
  • {u} bedeutet, dass das Paket nicht vom System verwendet wird und entfernt wird.

Leider erklärt es nicht {b}.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.