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


92

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

Merci.

Réponses:


127

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 paquet 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 attend 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)

2
(Les barres verticales et les barres obliques dans les deuxième, troisième et quatrième lignes de l'en-tête sont des "flèches" pointant vers les première, deuxième et troisième colonnes, pour vous aider à déchiffrer ce que htorque a expliqué plus en profondeur.)
Ubuntourist

1
Où puis-je lire cette liste? J'ai essayé l'homme dpkg mais ce n'était pas là.
Fabrizio Regini

1
@FabrizioRegini Essayez à nouveau, cela se trouve tout en haut de la page de manuel de dpkg (section "INFORMATIONS SUR LES PACKAGES"). :)
htorque

Où dans la page de manuel dpkg cela indique-t-il la signification de 'ii', 'if', etc.?
pmatulis

2
@FabrizioRegini Run man dpkg-query.
jarno

27

La première lettre indique quel est le statut attendu du paquet.
La deuxième lettre indique l’ état actuel du paquet.

Donc par exemple:

iisignifie 'il devrait être installé et il est installé' alors que
rc'il est supprimé / désinstallé mais ses fichiers de configuration sont toujours là'


1
Est-il donc prudent de supprimer les fichiers de configuration du noyau avec la balise rc?
Mars Lee

10

Étant donné que ma représentation 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


1
  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 respectivement les lettres éventuellement montrées comme étant les trois premiers caractères du premier champ, mais pas toutes dans la même casse, c.-à-d. Certaines des lettres sont affichés en minuscule. Le troisième caractère est l'espace normalement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.