Разбор работы с aptitude на Ubuntu 10.10

Posted by

— оболочка для Advanced Packaging Tool, части системы управления пакетами в операционной системе Debian и её производных, Ubuntu в частности. Имеет псевдографический интерфейс и интерфейс командной строки.

Консольный интерфейс утилиты aptitude.

По умолчанию в системе данный пакет не установлен, установим его:

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

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

18 − 13 =