Co oznaczają różne flagi dpkg, takie jak „ii” „rc”?

92

Często muszę sprawdzać, które pakiety są zainstalowane, i używam następującego polecenia:

dpkg -l | grep foo

co daje następujący wynik

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. Co iiznaczy
  2. Jakie są inne flagi?
  3. Jak czytać flagi? (ponieważ wyjaśnienie jest dość skomplikowane, IMO)

Dzięki.

theTuxRacer
źródło

Odpowiedzi:

127

Gdzie znaleźć te informacje w systemie

Możesz znaleźć te informacje w nagłówku wyjścia dpkg -l, ponieważ jest to tylko konwencja formatowania:

dpkg -l | head -3

Skopiowano tutaj w celach informacyjnych:

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)                    

Opis każdego pola

Jak widać z pierwszych trzech wierszy:

Pierwsza litera -> żądany stan paczki („stan wyboru”):

  • u ... nieznany
  • ja ... instaluję
  • r ... usuń / odinstaluj
  • p ... oczyść (usuń w tym pliki konfiguracyjne)
  • h ... trzymaj

Druga litera -> aktualny stan paczki:

  • n ... nie jest zainstalowany
  • zainstalowałem
  • c ... pliki konfiguracyjne (instalowane są tylko pliki konfiguracyjne)
  • U ... rozpakowałem
  • F ... w połowie skonfigurowany (z jakiegoś powodu konfiguracja nie powiodła się)
  • h ... w połowie zainstalowany (instalacja z jakiegoś powodu nie powiodła się)
  • O ... oczekiwane wyzwalacze (pakiet czeka na wyzwalacz z innego pakietu)
  • t ... wyzwalacze w toku (pakiet został uruchomiony)

Trzecia litera -> stan błędu (zwykle nie powinna być wyświetlana trzecia litera, ale spacja):

  • R ... wymagana ponowna instalacja (uszkodzony pakiet, wymagana ponowna instalacja)
htorque
źródło
2
(Pionowe paski i ukośniki w drugiej, trzeciej i czwartej linii nagłówka to „strzałki” wskazujące na pierwszą, drugą i trzecią kolumnę, które pomogą ci rozszyfrować to, co htorque wyjaśniło głębiej.)
Ubuntourist
1
gdzie mogę przeczytać tę listę? Próbowałem man dpkg, ale go nie było.
Fabrizio Regini
1
@FabrizioRegini Spróbuj ponownie, jest na górze strony podręcznika dpkg (sekcja „INFORMACJE O PAKIETACH”). :)
htorque
Gdzie na stronie podręcznika dpkg pokazuje znaczenie „ii”, „if” itd.?
pmatulis
1
@FabrizioRegini Run man dpkg-query.
jarno
27

Pierwsza litera pokazuje oczekiwany status paczki.
Druga litera pokazuje aktualny status paczki.

Na przykład:

iioznacza „Powinien zostać zainstalowany i jest zainstalowany”, podczas gdy
rcznaczy „Został usunięty / odinstalowany, ale pliki konfiguracyjne nadal tam są”

Pavlos G.
źródło
1
Czy bezpiecznie jest usunąć pliki konfiguracyjne jądra ze znacznikiem rc?
Mars Lee
10

Ponieważ mój przedstawiciel jest niski, nie mogę komentować, aby odpowiedzieć na pytania, które ludzie mają na temat tego, gdzie uzyskać te informacje. Po przejrzeniu kodu źródłowego dpkg i kodu main.c powiązanych programów, znalazłem to, czego szukałem.

Informacje do czytania -l | - wyjście jest w liście

man dpkg-query

i nie w

man dpkg

dpkg działa jedynie jako front-end w tych przypadkach

Curtis M.
źródło
1
  1. Oznacza to, że pakiet powinien zostać zainstalowany, a pakiet jest zainstalowany.

  2. Widzieć man dpkg-query

  3. Wielkie litery wyświetlane w alternatywnych znakach po znaku równości w trzech pierwszych wierszach legendy to litery, które mogą być pokazane jako odpowiednio pierwsze trzy znaki w pierwszym polu, ale nie wszystkie w tym samym przypadku, tj. Niektóre litery są pokazane małymi literami. Trzeci znak to spacja normalnie.

jarno
źródło