web-dev-qa-db-fra.com

Que signifient les différents drapeaux de dpkg tels que 'ii' 'rc'?

J'ai souvent besoin de vérifier quels paquets sont installés et j'utilise la commande suivante:

dpkg -l | grep foo

ce qui donne la sortie suivante

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. Que signifie ii?
  2. Quels sont les autres drapeaux?
  3. Comment lire les drapeaux? (parce que l'explication est assez compliquée, IMO)

Merci.

89
theTuxRacer

Où trouver cette information dans le système

Vous pouvez trouver cette information dans la tête de la sortie de dpkg -l, étant donné qu'il ne s'agit que d'une convention de formatage:

dpkg -l | head -3

Copié ici pour référence:

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)                    

Description de chaque champ

Comme vous pouvez le voir sur les trois premières lignes:

Première lettre -> état du package souhaité ("état de sélection"):

  • u ... inconnu
  • je ... installe
  • r ... supprimer/désinstaller
  • p ... purge (supprimer y compris les fichiers de configuration)
  • h ... tiens

Deuxième lettre -> état actuel du paquet:

  • n ... non installé
  • j'ai installé
  • c ... fichiers de configuration (seuls les fichiers de configuration sont installés)
  • U ... déballé
  • F ... à moitié configuré (la configuration a échoué pour une raison quelconque)
  • h ... à moitié installé (l'installation a échoué pour une raison quelconque)
  • W ... triggers-attendu (le paquet est en attente d'un trigger d'un autre paquet)
  • t ... déclencheurs en attente (le package a été déclenché)

Troisième lettre -> état d'erreur (normalement, vous ne devriez pas voir une troisième lettre, mais un espace):

  • R ... reinst-required (paquet cassé, réinstallation nécessaire)
124
htorque

La première lettre indique quel est le statut attend du paquet.
La deuxième lettre indique quel est le statut actuel du paquet.

Donc par exemple:

iisignifie 'Il devrait être installé et il est installé' alors que
rcsignifie 'Il a été supprimé/désinstallé mais ses fichiers de configuration sont toujours présents'

27
Pavlos G.

Comme mon représentant est faible, je ne peux pas commenter pour répondre aux questions que les gens se posent sur l’endroit où obtenir ces informations. Après avoir examiné le code source de dpkg et le code main.c des programmes associés, j'ai trouvé ce que je cherchais.

L'info pour lire le -l | --list output est dans

man dpkg-query

et pas dans

man dpkg

dpkg agit simplement comme le front-end dans ces cas

9
Curtis M
  1. Cela signifie que le paquet doit être installé et qu'il est installé.

  2. Voir man dpkg-query

  3. Les lettres majuscules indiquées dans les variantes après le signe égal dans les trois premières lignes de la légende sont les lettres éventuellement montrées comme étant les trois premiers caractères du premier champ, respectivement, mais pas toutes dans la même casse, c’est-à-dire certaines des lettres. sont affichés en minuscule. Le troisième caractère est l'espace normalement.

1
jarno