Що означають різні прапорці dpkg на зразок 'ii' 'rc'?


92

Мені часто потрібно перевіряти, які пакунки встановлені, і я використовую таку команду:

dpkg -l | grep foo

що дає наступний вихід

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. Що iiозначає?
  2. Які ще прапори є?
  3. Як читати прапори? (тому що пояснення досить складне, IMO)

Дякую.

Відповіді:


127

Де знайти цю інформацію в системі

Ви можете знайти цю інформацію в заголовку виводу dpkg -l, оскільки це лише умова форматування:

dpkg -l | head -3

Тут скопійовано для довідки:

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)                    

Опис кожного поля

Як видно з перших трьох рядків:

Перша літера -> бажаний стан пакету ("стан вибору"):

  • u ... невідомо
  • я ... встановити
  • r ... видалити / видалити
  • p ... очищення (видалення, включаючи конфігураційні файли)
  • ч ... тримай

Другий лист -> поточний стан пакету:

  • n ... не встановлено
  • я ... встановлений
  • c ... config-файли (встановлені лише конфігураційні файли)
  • U ... розпаковано
  • F ... напівконфігурований (конфігурація чомусь не вдалася)
  • ч ... наполовину встановлено (установка чомусь не вдалася)
  • W ... тригери-очікувані (пакет чекає тригера з іншого пакету)
  • t ... тригери в очікуванні (пакет був запущений)

Третя літера -> стан помилки (зазвичай ви не повинні бачити третю букву, а пробіл):

  • R ... вимагається перевстановлення (пакет зламаний, потрібна перевстановлення)

2
(Вертикальні смуги та косої риси у другому, третьому та четвертому рядку заголовка - це "стрілки", що вказують на перший, другий та третій стовпці, щоб допомогти вам розшифрувати те, що htorque пояснило у більшій глибині.)
Ubuntourist

1
де я можу прочитати цей список? Я спробував man dpkg, але його там не було.
Фабріціо Регіні

1
@FabrizioRegini Спробуйте ще раз, це вгорі сторінки чоловіка dpkg (розділ "ІНФОРМАЦІЯ ПРО ПАКЕТИ"). :)
htorque

Де на сторінці man dpkg відображається значення "ii", "if" тощо?
pmatulis

1
@FabrizioRegini Run man dpkg-query.
jarno

27

У першому листі відображається очікуваний стан пакету.
У другому листі відображається поточний стан пакета.

Так, наприклад:

iiозначає "Його слід встановити і встановити", тоді як
rcозначає "Видалено / видалено, але файли конфігурації все ще є"


1
Так чи безпечно видаляти конфігураційні файли ядра з тегом rc?
Марс Лі

10

Оскільки мій представник низький, я не можу коментувати відповіді на запитання людей про те, де отримати цю інформацію. Переглянувши вихідний код на dpkg та код main.c пов'язаних програм, я знайшов те, що шукав.

Інформація для читання -l | - список результатів в

man dpkg-query

а не в

man dpkg

dpkg просто виступає в ролі передумов у цих випадках


1
  1. Це означає, що пакет бажано встановити та встановити пакет.

  2. Побачити man dpkg-query

  3. Літери верхнього регістру, показані в альтернативних варіантах після знака рівності, в трьох перших рядках легенди - це літери, можливо, показані як перші три символи в першому полі відповідно, але не всі вони в тому ж випадку, тобто деякі букви показані в нижньому регістрі. Третій символ - це звичайно простір.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.