Cosa significano le varie bandiere dpkg come 'ii' 'rc'?


92

Ho spesso bisogno di verificare quali pacchetti sono installati e utilizzo il seguente comando:

dpkg -l | grep foo

che fornisce il seguente output

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. Che cosa iisignifica?
  2. Quali altre bandiere ci sono?
  3. Come leggere le bandiere? (perché la spiegazione è piuttosto complicata, IMO)

Grazie.

Risposte:


127

Dove trovare queste informazioni nel sistema

Puoi trovare queste informazioni nella testa dell'output di dpkg -l, dato che è solo una convenzione di formattazione:

dpkg -l | head -3

Copiato qui per riferimento:

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)                    

Descrizione di ciascun campo

Come puoi vedere dalle prime tre righe:

Prima lettera -> stato pacchetto desiderato ("stato selezione"):

  • tu ... sconosciuto
  • io ... installo
  • r ... rimuovi / disinstalla
  • p ... purge (rimuovi compresi i file di configurazione)
  • h ... tieni

Seconda lettera -> stato del pacchetto corrente:

  • n ... non installato
  • io ... installato
  • c ... file di configurazione (sono installati solo i file di configurazione)
  • U ... spacchettato
  • F ... mezzo configurato (configurazione non riuscita per qualche motivo)
  • h ... mezzo installato (installazione non riuscita per qualche motivo)
  • W ... trigger atteso (il pacchetto è in attesa di un trigger da un altro pacchetto)
  • t ... trigger in sospeso (il pacchetto è stato attivato)

Terza lettera -> stato di errore (normalmente non dovresti vedere una terza lettera, ma uno spazio):

  • R ... reinstalla richiesta (pacchetto rotto, reinstallazione richiesta)

2
(Le barre verticali e le barre nella seconda, terza e quarta riga dell'intestazione sono "frecce" che puntano alla prima, seconda e terza colonna, per aiutarti a decifrare ciò che l'htorque ha spiegato in modo più approfondito.)
Ubuntourist il

1
dove posso leggere questo elenco? Ho provato man dpkg ma non era lì.
Fabrizio Regini,

1
@FabrizioRegini Riprova, si trova nella parte superiore della pagina man di dpkg (sezione "INFORMAZIONI SUI PACCHETTI"). :)
htorque,

Dove nella pagina man di dpkg mostra il significato di 'ii', 'if' e così via?
pmatulis,

2
@FabrizioRegini Run man dpkg-query.
jarno,

27

La prima lettera mostra qual è lo stato previsto del pacchetto.
La seconda lettera mostra qual è lo stato corrente del pacchetto.

Quindi per esempio:

iisignifica "Dovrebbe essere installato e installato" mentre
rcsignifica "È stato rimosso / disinstallato ma i suoi file di configurazione sono ancora lì"


1
Quindi è sicuro eliminare i file di configurazione del kernel con tag rc?
Mars Lee,

10

Poiché il mio rappresentante è basso, non posso commentare per rispondere alle domande che le persone hanno su dove ottenere queste informazioni. Dopo aver esaminato il codice sorgente di dpkg e il codice main.c dei programmi correlati, ho trovato quello che cercavo.

Le informazioni per leggere il -l | --L'output è in

man dpkg-query

e non dentro

man dpkg

In questi casi dpkg agisce semplicemente come front-end


1
  1. Significa che il pacchetto deve essere installato e che il pacchetto è installato.

  2. Vedere man dpkg-query

  3. Le lettere maiuscole mostrate nelle alternative dopo il segno di uguale nelle tre prime righe della legenda sono le lettere probabilmente mostrate mostrate rispettivamente come i primi tre caratteri nel primo campo, ma non tutte nello stesso caso, cioè alcune delle lettere sono mostrati in minuscolo. Il terzo personaggio è normalmente lo spazio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.