Памятка по управлению пакетами с помощью aptitude в Debian, Ubuntu etc.

Эта статья представляет из себя памятку по управлению пакетами в Debian и его приемниках Ubuntu, Mint и т.д. с помощью aptitude. Этот мощнейший инструмент позволяет поддерживать систему в порядке, отлично отрабатывая зависимости. Aptitude являет собой полноценную и многофункциональную программу, позволяющую выполнять все действия не только в командном, но и в интерактивном режиме.

Ключи Aptitude.

В рамках статьи я указываю только ключи, на мой взгляд важные. Остальные ключи вы можете посмотреть в help, который можно выполнить командой:

1
apitude --help
-s Симуляция выполнения, никакие изменения не применяются.
-d Скачивание пакета без установки.
-P Автоподтверждение всех запросов на значения по умолчанию.
-y На все запросы Да/Нет отвечать Да.
-f Пытаться исправить поврежденные пакеты.
-v Показать дополнительную информацию.
-t [release] Указать релиз пакета для установки.
-q Показать индикатор прогресса.
—with(out)-recommends Устанавливать ли рекомендуемое окружение
-u Обновить списки пакетов при загрузке (только для интерактивного режима).

Интерактивный режим.

Для перехода в интерактивный режим просто выполните команду aptitude без ключей.

1
aptitude

Обновление списков пакетов.

Списки пакетов обновляются из всех репозиториев, указанных в файле /etc/apt/sources.list.

1
aptitude update

Обновление пакетов.

Массовое обновление пакетов можно выполнить, используя следующие команды:

1
aptitude safe-upgrade

Aptitude обновит все пакеты, для которых не требуется удаления других пакетов.

или

1
aptitude full-upgrade

Aptitude обновит все пакеты, удалив требуемые для успешного обновления пакеты.

или

1
2
aptitude full-upgrade
aptitude dist-upgrade

Обе команды идентичны. Любая из них обновит все пакеты, для которых есть новые версии.

Поиск пакетов.

aptitude search PACKAGE

Пример:

1
aptitude search drbd

В моем случае вернулись следующие данные:

1
2
3
v drbd-utils - 
p drbd8-utils RAID 1 over tcp/ip for Linux utilities 
p drbdlinks - Manages symlinks into a shared DRBD partition

Как мы видим в примере, перед каждым из пакетов стоит некая буква. Из-за этой буквы я больше люблю именно aptitude, а не apt, так как можно сразу наглядно узнать статус пакета. Иногда пакет может иметь несколько статусов -основной и дополнительный.

Возможные статусы.

Основные:

p – Неустановленный или полностью удаленный пакет.

i – Установленный пакет. Сокращенно от installed.

c – Удаленный пакет с сохраненными конфигами.

v — Виртуальный пакет. В нем могут быть описаны несколько реальных пакетов, которые будут установлены при попытке его инсталляции.

Дополнительные статусы:

A – Встречается в комбинации с i (i A). Говорит о том, что пакет был установлен автоматически как зависимый. Любому пакету можно присвоить этот статус командой markauto, снять отметку можно командой unmarkauto:

1
2
aptitude markauto mc
aptitude unmark auto mc

B – Встречается в комбинации с i (i B). Пакет, потерявший зависимости или просто испорченный.

C – Встречается в комбинации с i (i C). Не до конца сконфигурированный пакет. Такой статус можно получить при прерывании установки на моменте настройки.

h – Встречается в комбинации с i (i h). Замороженный (hold) пакет. Статус обозначает пакеты, обновление которых запрещено

H – Встречается в комбинации с i (i H). не до конца установленный пакет. Такой статус можно получить при прерывании установки.

u – Встречается в комбинации с p (p u). Скаченный, распакованный, но не установленный пакет.

На поиск можно накладывать дополнительные условия.

~n — искать в имени пакета. ~d — искать в описании пакета. ~s — искать в разделе репозитория. ~i — искать только в установленных пакетах. ~U — искать только в пакетах, которые можно обновить. «|» — запросить альтернативы. «!» — символ отрицания.

Например найдем виртуальные пакеты, в имени которых встречается «top», в описании слово «Build».

1
aptitude search '~ntop~dBuild'

Просмотр информации о пакете.

Для просмотра информации о пакете можно воспользоваться командой show.

1
aptitude show mc

Команды вернет результат, похожий на этот.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
Package: mc 
State: installed
Automatically installed: no
Version: 3:4.8.3-10
Priority: optional
Section: utils
Maintainer: Debian MC Packaging Group <pkg-mc-devel@lists.alioth.debian.org>
Architecture: amd64
Uncompressed Size: 1,331 k
Depends: e2fslibs (>= 1.42.2), libc6 (>= 2.11), libcomerr2 (>= 1.01), libglib2.0-0 (>= 2.24.0), libgpm2 (>= 1.20.4), libslang2 (>= 2.2.4), mc-data (= 3:4.8.3-10)
Recommends: mime-support, unzip, perl
Suggests: zip, bzip2, links | w3m | lynx, arj, file, xpdf | pdf-viewer, dbview, odt2txt, gv, catdvi, djvulibre-bin, imagemagick, python, python-boto, python-tz
Description: Midnight Commander - a powerful file manager
GNU Midnight Commander is a text-mode full-screen file manager. It uses a two panel interface and a subshell for command execution. It includes an internal editor with syntax highlighting and an internal viewer with support for binary files. Also included is Virtual Filesystem (VFS), that allows files on remote
systems (e.g. FTP, SSH servers) and files inside archives to be manipulated like real files.
Homepage: http://www.midnight-commander.org

Выполним команду:

1
aptitude -v show mc

Вернется результат со всеми версиями пакетов в репозитории. Чтобы запросить информацию по нескольким пакетам, перечислим их через пробел.

1
aptitude -v show mc htop

Просмотр зависимых пакетов.

Для того, чтобы посмотреть зависимые пакеты, воспользуемся командой why.

1
aptitude why dbview

Просмотр конфликтующих пакетов.

1
aptitude why-not имя_пакета.

При выполнении команды система покажет список пакетов в системе, с которыми конфликтует запрашиваемые пакет.

Установка пакета.

aptitude install

Например:

1
2
aptitude install mc
aptitude install atop htop

Все установленные пакеты сначала скачиваются в кэш. Они хранятся там даже после удаления программы. Для очистки кэша можно воспользоваться командами clean и autoclean. Первая удалит весь кэш, второй — только пакеты, которые уже не используются в системе.

Например:

1
2
aptitude clean
aptitude autoclean

Переустановка пакета.

1
aptitude reinstall htop

В результате этой команды будет произведена переустановка пакета, все конфигурационные файлы сбросятся.

Удаление пакета.

1
aptitude remove mc

Данная команда удалит пакет mc и связанные пакеты (со статусом A), при этом все конфигурационные файлы останутся. Можно удалить сразу несколько пакетов, перечисляя их через пробел.

1
aptitude remove mc htop atop

В случае, если нужно удалить пакеты вместе с конфигурационными файлами, воспользуемся командой purge. Конфигурационные пакеты профиля (для mc расположены по пути ~/.mc) останутся нетронутыми.

1
aptitude purge mc

Заморозка пакета.

Часто бывает потребность оставить конкретную версию пакета, не давая aptitude выполнять с ним какие либо действия. Сделать это можно с помощью команды hold.

1
aptitude hold mc

Разморозить пакет можно с помощью обратной команды:

1
aptitude unhold mc

Напоследок расскажу о пасхальном яйце, содержащемся в aptitude.

Наберите команду

1
aptitude -v moo

Теперь каждый раз добавляйте v (-vv -vvv) до получения желаемого результата.

На этом все, спасибо за внимание.


Смотрите также

comments powered by Disqus