Was bedeuten die verschiedenen dpkg-Flags wie 'ii' 'rc'?


92

Ich muss häufig überprüfen, welche Pakete installiert sind, und verwende den folgenden Befehl:

dpkg -l | grep foo

was die folgende Ausgabe ergibt

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version         Description
ii   foo                       <version>         <description>
  1. Was bedeutet das iibedeuten?
  2. Welche anderen Flaggen gibt es?
  3. Wie lese ich die Fahnen? (weil die Erklärung ziemlich kompliziert ist, IMO)

Vielen Dank.

Antworten:


127

Wo finden Sie diese Informationen im System

Sie finden diese Informationen im Kopf der Ausgabe von dpkg -l, da es sich nur um eine Formatierungskonvention handelt:

dpkg -l | head -3

Hier als Referenz kopiert:

Desired=Unknown/Install/Remove/Purge/Hold                                     
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)                    

Beschreibung der einzelnen Felder

Wie Sie aus den ersten drei Zeilen ersehen können:

Anfangsbuchstabe -> gewünschter Paketstatus ("Auswahlstatus"):

  • u ... unbekannt
  • Ich ... installiere
  • r ... entfernen / deinstallieren
  • p ... bereinigen (einschließlich Konfigurationsdateien entfernen)
  • h ... halt

Zweiter Buchstabe -> aktueller Paketstatus:

  • n ... nicht installiert
  • ich installierte
  • c ... Konfigurationsdateien (nur die Konfigurationsdateien werden installiert)
  • U ... ausgepackt
  • F ... halb konfiguriert (Konfiguration aus irgendeinem Grund fehlgeschlagen)
  • h ... halb installiert (Installation aus irgendeinem Grund fehlgeschlagen)
  • W ... Trigger erwartet (Paket wartet auf einen Trigger eines anderen Pakets)
  • t ... triggers-pending (Paket wurde ausgelöst)

Dritter Buchstabe -> Fehlerstatus (normalerweise sollte kein dritter Buchstabe, sondern ein Leerzeichen angezeigt werden):

  • R ... reinst-required (Paket defekt, Neuinstallation erforderlich)

2
(Die vertikalen Balken und Schrägstriche in der zweiten, dritten und vierten Zeile der Kopfzeile sind "Pfeile", die auf die erste, zweite und dritte Spalte verweisen, damit Sie besser erkennen können, was htorque ausführlicher erklärt hat.)
Ubuntourist

1
Wo kann ich diese Liste lesen? Ich habe versucht, man dpkg, aber es war nicht da.
Fabrizio Regini

1
@FabrizioRegini Versuchen Sie es erneut, es befindet sich ganz oben auf der Manpage von dpkg (Abschnitt "INFORMATIONEN ZU PAKETEN"). :)
htorque

Wo in der Manpage von dpkg wird die Bedeutung von 'ii', 'if' usw. angezeigt?
pmatulis

1
@FabrizioRegini Run man dpkg-query.
jarno

27

Der erste Buchstabe zeigt den erwarteten Status des Pakets an.
Der zweite Buchstabe zeigt den aktuellen Status des Pakets an.

Also zum Beispiel:

iibedeutet "Es sollte installiert sein und es ist installiert", während
rc"Es wurde entfernt / deinstalliert, aber die Konfigurationsdateien sind noch vorhanden" bedeutet.


1
Ist es also sicher, die Konfigurationsdateien des Kernels mit dem rc-Tag zu löschen?
Mars Lee

10

Da meine Wiederholungszahlen niedrig sind, kann ich keine Kommentare abgeben, um die Fragen zu beantworten, wo diese Informationen erhältlich sind. Nachdem ich den Quellcode für dpkg und den main.c-Code verwandter Programme überprüft hatte, fand ich, wonach ich suchte.

Die Informationen zum Lesen der -l | --list Ausgabe ist in

man dpkg-query

und nicht in

man dpkg

dpkg fungiert in diesen Fällen lediglich als Front-End


1
  1. Dies bedeutet, dass das Paket installiert werden soll und dass das Paket installiert ist.

  2. Sehen man dpkg-query

  3. Großbuchstaben, die in den Alternativen nach dem Gleichheitszeichen in den drei ersten Zeilen der Legende angezeigt werden, sind die Buchstaben, die möglicherweise als die ersten drei Zeichen im ersten Feld angezeigt werden, jedoch nicht alle in demselben Fall, dh einige der Buchstaben werden in Kleinbuchstaben angezeigt. Das dritte Zeichen ist normalerweise ein Leerzeichen.

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.