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.

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)

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ą”


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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.