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

Ключи Aptitude.

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

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

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

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

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

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

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

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

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

или

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

или

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

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

aptitude search PACKAGE

Пример:

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

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

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

Основные:

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

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

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

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

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

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

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».

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

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

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

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

Вернется результат со всеми версиями пакетов в репозитории.

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

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

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

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

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

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

aptitude install

Например:

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

Например:

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

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

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

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

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

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

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

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

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

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

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

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