Система управления пакетами APT: гибкость, надежность и удобство

Пожалуй, самое весомое нововведение Debian, которое было принято другими дистрибутивами – высокоуровневая система управления пакетами APT – Advanced Packaging Tool. По сути, она не является таковой в буквальном смысле, ведь большинство операций с пакетами выполняются утилитой dpkg. APT – это своеобразная обертка, основными функциями которой являются:
- установка и обновление пакетов;
- поиск пакетов по указанным критериям;
- извлечение пакетов из репозитория;
- сверка контрольных сумм;
- разрешение зависимостей.
Менеджеры пакетов облегчают установку, обновление и удаление программ – нет необходимости выполнять установку вручную или работать с теми каталогами, в которых установлены файлы загрузки или компоненты программ. Как правило, это каталоги /usr/bin, /usr/share/имя_пакета.
Серьезной проблемой для менеджеров пакетов является отслеживание зависимостей между компонентами, используемыми разными программами, а также контроль за тем, чтобы все ПО работало слаженно.
Чтобы поддерживать целостность системы с минимальным участием пользователя как раз и была разработана Усовершенствованная система управления программными пакетами APT. Полная автоматизация достигается путем создания внешних репозиториев, которые служат хранилищем для пакетов программ, установленных в системе.
Преимущество APT заключается в том, что в ней имеется две базы данных: в первой содержится информация о пакетах, установленных в системе, во второй хранятся данные о внешних репозиториях. Если в процессе проверки системы на целостность утилита обнаруживает противоречия в зависимостях пакетов, она считывает информацию о внешних репозиториях для устранения проблемы.
Основные утилиты и команды
Установка пакетов
Чтобы установить команду, необходимо ввести
# apt-get install имя_пакета
Например, нам нужно установить сетевой сканер nmap. Для этого прописываем команду
Эта команда позволяет установить необходимые пакеты либо обновить текущие. То есть, при вводе команды утилита APT проверяет все системные пакеты на соответствие тем версиям, которые имеются в репозиториях.
Важно! Бывает так, что после манипуляций с пакетами без использования APT нарушается целостность системы, в результате чего невозможно выполнить команду apt-get. Чтобы это исправить, необходимо выполнить команду
# apt-get –f
Таким образом мы даем сигнал APT удалить или обновить конфликтующие пакеты, исправить нарушенные зависимости. Однако в этом случае нужно быть очень внимательным, поскольку любое действие требует подтверждения пользователя.
Обновление пакетов
Чтобы обновить пакеты, которые установлены в системе, используется команда
# apt-get upgrade
Чтобы обновить конкретный пакет, необходимо ввести
# apt-get upgrade имя_пакета
Пример с nmap
С помощью этой команды можно обновить те пакеты, новые версии которых имеются в файле /etc/apt/sources.list.
После любого изменения в этом файле нужно обязательно выполнить команду
# apt-get update
Однако при этом могут возникнуть конфликты и неудовлетворенные зависимости. Этот метод обновления рекомендуется использовать при работе с пакетами приложений, которые не подвергаются существенным изменениям при переходе на новую версию.
Важно! После внесения изменений в названиях пакетов или их зависимостях команда apt-get upgrade может не выполняться. В таком случае необходимо использовать команду
# apt-get dist-upgrade
Эта команда позволяет обновить систему на уровне всего дистрибутива.
Поиск пакетов
В APT имеется утилита, с помощью которой можно искать пакеты как по имени, так и по описанию.
# apt-cache search пакет/подстрока
Например, мы хотим найти все пакеты/строки, где упоминается nmap
Вводим команду
Мы получили вывод всех пакетов, где присутствует искомый нами запрос
Для вывода информации о найденных пакетах необходимо ввести команду
# apt-cache show имя_пакета
Вводим эту команду и получаем информацию о nmap
Чтобы посмотреть зависимости искомого пакета, прописываем команду
# apt-cache depends имя_пакета
И снова возвращаемся к nmap
Удаление пакетов
Чтобы удалить пакет вводим команду
# apt-get remove имя_пакета
Кроме самого пакета удалятся все зависимости, поскольку при отсутствии какого-либо важного компонента это приложение уже не может работать. При удалении базовых системных пакетов, apt-get будет требовать подтверждения ответа.
Добавление ключей
Ключи аутентификации используются для проверки подлинности пакетов. Для добавления ключей от репозиториев в систему вводим команду
# apt-key add
Для удаления ключа используем
# apt-key-del
Ознакомиться с возможностями APT, а также испробовать систему на практике можно на нашем авторском курсе «Linux. Базовый уровень»!