Что означают различные флаги dpkg, такие как "ii" и "rc"?
Мне часто нужно проверять, какие пакеты установлены, и я использую следующую команду:
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>
- Что это
ii
имею в виду? - Какие еще флаги есть?
- Как читать флаги? (потому что объяснение довольно сложное, ИМО)
Благодарю.
4 ответа
Где найти эту информацию в системе
Вы можете найти эту информацию в заголовке вывода 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)
Описание каждого поля
Как видно из первых трех строк:
Первая буква -> желаемое состояние пакета ("состояние выбора"):
- ты... неизвестен
- я... установить
- r... удалить / удалить
- p ... purge (удалить, включая файлы конфигурации)
- ч... держись
Вторая буква -> текущее состояние пакета:
- н... не установлено
- я... установлен
- c ... config-files (установлены только файлы config)
- U... распакован
- F ... наполовину сконфигурирован (конфигурация по какой-то причине не удалась)
- h... наполовину установлен (установка по какой-то причине не удалась)
- W... triggers-awated (пакет ожидает триггера из другого пакета)
- t... ожидание триггера (пакет был запущен)
Третья буква -> состояние ошибки (обычно вы не должны видеть третью букву, а пробел):
- R... требуется повторно (пакет поврежден, требуется переустановка)
Первая буква отображает ожидаемый статус пакета.
Вторая буква отображает текущий статус пакета.
Так, например:
ii
означает "Это должно быть установлено, и это установлено", тогда какrc
означает "Он удален / удален, но его конфигурационные файлы все еще там"
Поскольку у меня низкий представитель, я не могу комментировать, чтобы ответить на вопросы людей о том, где можно получить эту информацию. Изучив исходный код для файла main.c dpkg и связанных программ, я нашел то, что искал.
Информация для чтения -l | --list вывод находится в
man dpkg-query
и не в
man dpkg
dpkg просто выступает в качестве внешнего интерфейса в этих случаях
Это означает, что пакет должен быть установлен и пакет установлен.
Увидеть
man dpkg-query
Буквы в верхнем регистре, показанные в альтернативах после знака равенства в трех первых строках легенды, - это, возможно, показанные буквы, показанные как первые три символа в первом поле, соответственно, но не все из них в одном и том же регистре, т.е. некоторые буквы показаны в нижнем регистре. Третий символ обычно является пробелом.