Командный режим 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, служащие получению информации о пакетах, могут выполняться от лица обычного пользователя.


Теги: , , ,