Командный режим aptitude: информация о пакетах
Резонные люди обычно начинают работу с пакетами поиском нужного для установки пакета. В случае с aptitude
это делается так:
$ aptitude search keyword
ответом на что будет список всех пакетов, в названии или описании которых имеется указанное ключевое слово, с краткой характеристикой. Почти как в apt, но вывод aptitude содержит информацию о текущем состоянии пакета. Например, применим aptitude
для поиска фирменных драйверов для видеокарт Nvidia, то есть осуществим поиск по ключевому слову nvidia:
$ aptitude search nvidia
Это даст примерно следующую картину:
i nvidia-glx -- NVIDIA binary XFree86 4.x/X.Org driver p nvidia-glx-dev -- NVIDIA binary XFree86 4.x/X.Org driver de p nvidia-glx-legacy -- NVIDIA binary XFree86 4.x/X.Org 'legacy' p nvidia-glx-legacy-dev -- NVIDIA binary XFree86 4.x/X.Org 'legacy' v nvidia-kernel-1.0.7184 - v nvidia-kernel-1.0.8774 - v nvidia-kernel-1.0.9629 - v nvidia-kernel-1.0.9631 - i A nvidia-kernel-common -- NVIDIA binary kernel module common files i nvidia-kernel-source -- NVIDIA binary kernel module source p nvidia-legacy-kernel-source -- NVIDIA binary 'legacy' kernel module sour p nvidia-settings -- Tool of configuring the NVIDIA graphics d p nvidia-xconfig -- The NVIDIA X Configuration Tool
Очень похоже на вывод команды
$ apt-cache search nvidia
не так ли? Отличие -- в крайней левой колонке, уже за наличие которой aptitude
можно предпочесть соответствующей apt-утилите. Литеры, в ней стоящие, маркируют статус пакета -- основной (левый символ) и, возможно, дополнительный (второй символ). Значения основного статуса следующие:
i
(от installed) -- пакет установлен в системе:p
(от purge) -- пакет не был установлен или был удален "вчистую" (как -- будет говориться далее);c
(от clean) -- пакет, удаленный с сохранением конфигурационных файлов;v
(от virtual) -- т.н. виртуальные пакеты, то есть просто списки реальных пакетов, один из которых будет использоваться в той или иной ситуации.
Дополнительный статус пакета может принимать такие значения:
A
(от Auto) -- пакет был установлен не самостоятельно, а автоматически, как зависимость другого пакета;h
(от hold) -- для пакета зафиксирована его текущая версия, то есть он не будет обновляться при выполнении операторов upgrade и dist-upgrade (см. ниже);u
(от unpacked) -- пакет был получен, распакован, но не инкорпорирован в файловую систему и не сконфигурирован;C
(от half-Configured) -- пакет, установка которого оборвалась на стадии конфигурирования;H
(от Half-installed) -- пакет, установка которого оборвалась на стадии инсталляции;B
(от Broken) -- т.н. "сломанные" пакеты -- то есть содержащие ошибки внутри себя или утратившие свои зависимости.
Обращаем особое внимание на пакеты, имеющие дополнительный статус A
: именно его наличие позволит нам в дальнейшем эффективно выполнять "чистку" системы.
Следующий этап применения aptitude
-- получение информации о тех пакетах, которые можно заподозрить в полезности. Этой цели служит оператор show
, требующий аргумента в виде имени пакета. Так, в ходе поиска драйвера нам потребовалось получить подробную информацию о ряде пакетов, например:
$ aptitude show nvidia-kernel-source
выведет примерно следующие данные:
- Package: nvidia-kernel-source -- имя пакета;
- State: installed -- установлен ли пакет, как в данном примере, или нет (not installed);
- Automatically installed: no -- установлен ли пакет автоматически, как зависимость другого пакета (A) или самостоятельно (как в данном примере);
- Version: 1.0.9631+2.6.20.1-6 -- номер версии и сборки;
- Priority: необязательный -- приоритет;
- Section: multiverse/misc -- категория (main, restrited и так далее, см. заметку о репозиториях) и секция;
- Maintainer: Ubuntu Kernel Team -- майнтайнер дистрибутивного пакета;
- Uncompressed Size: 1978k -- объем в распакованном виде;
- Depends: debhelper (> 4.0.0), make, sed (> 3.0), dpatch (>= 2.0.0) -- жесткие, то есть обязательные, зависимости;
- Recommends: nvidia-glx (>= 1.0.9631), kernel-package (>= 8.082), devscripts -- настоятельно рекомендуемые "мягкие" зависимости;
- Suggest -- "мягкие" зависимости, предлагаемые в меру настойчиво (в примере отсутствуют);
- Conflicts: nvidia-kernel-src -конфликтующие пакеты;
- Replaces: nvidia-kernel-src -- пакеты, которые будут заменены данным пакетом;
- Description: описание пакета, обычно в один абзац.
Очевидно, что все операторы команды aptitude
, служащие получению информации о пакетах, могут выполняться от лица обычного пользователя.
Теги: aptitude, deb, debian, ubuntu