Aptitude — оболочка для Advanced Packaging Tool, части системы управления пакетами в операционной системе Debian и её производных, Ubuntu в частности. Имеет псевдографический интерфейс и интерфейс командной строки.
По умолчанию в системе данный пакет не установлен, установим его:
ekzorchik@ekv:~$ sudo apt-get install aptitude
Поиск пакетов производится так же как и через apt:
ekzorchik@ekv:~$ aptitude search htop
p htop – interactive processes viewer
ekzorchik@ekv:~$ apt-cache search htop
htop – interactive processes viewer
Для поиска по описаниям следует использовать префикс “~d”:
ekzorchik@ekv:~$ aptitude search “~dhtop”
p htop – interactive processes viewer
Литеры в выводимом поиске маркируют статус пакета – основной (левый символ) и, возможно, дополнительный (второй символ). Значения основного статуса следующие:
- 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) – т.н. “сломанные” пакеты – то есть содержащие ошибки внутри себя или утратившие свои зависимости.
Принудительная установка указанной версии пакета:
ekzorchik@ekv:~$ sudo aptitude install htop=0.8.2
Получение подробной информации о пакете:
ekzorchik@ekv:~$ aptitude show htop
Package: htop
State: not installed
Version: 0.8.3-1ubuntu1
Priority: необязательный
Section: universe/utils
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Uncompressed Size: 217k
Depends: libc6 (>= 2.4), libncurses5 (>= 5.6+20071006-3)
Suggests: strace, ltrace
Description: interactive processes viewer
Htop is an ncursed-based process viewer similar to top, but it allows to scroll
the list vertically and horizontally to see all processes and their full
command lines.
Tasks related to processes (killing, renicing) can be done without entering
their PIDs.
Homepage: http://htop.sourceforge.net
Расшифровка выведенных данных –
- Package: имя пакета;
- State: installed – установлен ли пакет, как в данном примере, или нет (not installed);
- Automatically installed: no – установлен ли пакет автоматически, как зависимость другого пакета (A) или самостоятельно (как в данном примере);
- Version: номер версии и сборки;
- Priority: необязательный – приоритет;
- Section: multiverse/misc – категория (main, restrited и так далее, см. заметку о репозиториях) и секция;
- Maintainer: Ubuntu Kernel Team: майнтайнер дистрибутивного пакета;
- Uncompressed Size: объем в распакованном виде;
- Depends: жесткие, то есть обязательные, зависимости;
- Recommends: настоятельно рекомендуемые “мягкие” зависимости;
- Suggest: “мягкие” зависимости, предлагаемые в меру настойчиво (в примере отсутствуют);
- Conflicts: конфликтующие пакеты;
- Replaces: пакеты, которые будут заменены данным пакетом;
- Description: описание пакета, обычно в один абзац.
Получение информации о пакетах можно выполнять от имени обычного пользователя, но вот для установки уже потребуются права пользователя root. Правильней будет использовать запуск через sudo.
Установим пакет. (утилита сперва просмотривает репозитории перечисленные в /etc/apt/source.list, затем ставит, а после сохраняет в локальный кэш deb-файл /var/cache/apt/archives)
ekzorchik@ekv:~$ sudo aptitude install htop
ekzorchik@ekv:~$ ls -l /var/cache/apt/archives/ | grep htop
-rw-r–r– 1 root root 63240 2009-07-19 01:04 htop_0.8.3-1ubuntu1_i386.deb
При разрыве связи во время скачивания пакета его уже полученный фрагмент помещается в каталог /var/cache/apt/archives/partial/, и повторение процедуры install продолжает докачку с места обрыва.
Исправление битых файлов при обновлении/установки:
ekzorchik@ekv:~$ sudo aptitude reinstall htop
Установленные пакеты, оказавшиеся не нужными, могут быть удалены:
(удалит указанный в качестве аргумента пакет с сохранением его конфигурационных файлов.)
ekzorchik@ekv:~$ sudo aptitude remove htop
Полная же очистка системы от всех следов пакета:
ekzorchik@ekv:~$ sudo aptitude purge htop
The following packages will be REMOVED:
htop{p}
Литера {p} – то есть становится неотличимым от пакета, которого в системе никогда не было. Однако оператор purge не удаляет конфигурационные файлы пакета из домашнего каталога пользователя – это придется проделать самостоятельно.
Удалить сразу несколько пакетов. Для этого не всегда нужно перечислять их в качестве аргументов оператора remove или purge. В некоторых случаях можно прибегнуть к удалению по маске, то есть к конструкции типа
ekzorchik@ekv:~$ sudo aptitude purge ‘~htop’
Программа aptitude позволяет выполнить и тотальное обновление системы – этой цели служат операторы upgrade и dist-upgrade. Как и в apt-get, первый обновит все установленные пакеты в том случае, если это не влечет за собой новых, противоречащих наличным, зависимостей. Оператор же dist-upgrade выполнит принудительное обновление системы. В обоих случаях удалению подвергнутся также автоматически установленные пакеты, от которых больше ничего не зависит.