Эта статья представляет из себя памятку по управлению пакетами в 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) до получения желаемого результата.
На этом все, спасибо за внимание.
Смотрите также
- maybe? Интересная песочница для отладки операций с файлами в скриптах Linux.
- Знакомство с CMake. Часть 1. Установка, CMakeLists.txt, сборка.
- Упрощаем администрирование с etckeeper. Настройка контроля версий конфигов в /etc.
- HTTPS для сайта на WordPress под управлением nginx.
- Тестирование производительности веб серверов. Часть первая. Apache Benchmark (ab).