Заметка по пакетному менеджеру apt
Рассмотрим основные понятия и примеры команд
Что представляет из себя пакет
Пакет — это по своей сути архив, в котором содержатся все необходимые приложению бинарные, конфигурационные файлы, метаданные описывающие пакет, информацию о том, как их следует разместить в файловой системе, данные о зависимостях пакета, а также список действий которые необходимо выполнить в процессе установки
Характерным для Debian-based дистрибутивов является deb пакет .
С такими пакетами работает утилита(пакетный менеджер) dpkg. И хоть ее и нельзя назвать бесполезной, она все равно не такая функциональная как пакетные менеджеры более высокого уровня, например такие как apt.
apt умеет загружать пакеты из репозиториев и устанавливать их вместе с зависимостями.
dpkg это тема отдельной статьи, но здесь стоит сказать что им удобно запрашивать список установленных в системе пакетов. В том числе по маске
dpkg -l vim
Вывод списка производится в табличном виде
apt
apt (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них, например Ubuntu
Представляет из себя надстройку над dpkg.
Рассмотрим самые распространенные команды менеджера пакетов apt на примере работы с vim
Но не все сокращенные команды обеспечивают одинаковый вывод информации.
Например сравните apt show vim и apt-cache show vim
Где хранятся репозитории которые использует APT
Открыть файл списком репозиториев можно командой:
sudo apt edit-sources
или же перейдите по пути /etc/apt/sources.list
Предположим что у нас в системе не установлен редактор vim
Проверка доступных версий в подключенных репозиториях
apt-cache policy vim
Помимо списка доступных версий, policy показывает установленную версию в поле Installed.
А в поле Candidate отображается наиболее высокая доступная версия пакета. Именно она устанавливается, если не конкретизировать версию пакета
Установка пакета
sudo apt-get install vim
Установка определенной версии пакета
Выберем версию, например 2:8.1.2269-1ubuntu5
Для этого используем команду:
sudo apt install vim=2:8.1.2269-1ubuntu5
Обновить список доступных пакетов в подключенных репозиториях
apt-get update
После этого команда apt-cache policy может отобразить доступность более новой версии
Обновить версию пакета до максимально доступной
sudo apt install --only-upgrade vim
Параметр only-upgrade задает поведение, при котором обновление произойдет при условии, что пакет с указанным именем уже имеется в системе
Просмотр установленных пакетов
Просмотреть все установленные в системе пакеты можно так
apt-cache pkgnames
или же указать имя искомого пакета
apt-cache pkgnames vim
При этом на экран будет выведено только имя пакета, без дополнительной информации о нем.
По этой причине версию конкретного установленного пакета удобно проверить с помощью apt policy
Так же имеются другие способы просмотра информации о пакетах:
apt search powersh — помогает найти нужный пакет по части названия. Полезно если вы не знаете полного имени
apt show vim — выводит подробную информацию о пакете. Сверху будет информация об установленном пакете. Для просмотра всего списка из репозитория добавьте ключ ‘-a’
Показать пакеты для которых доступны обновления
apt list --upgradable
Удаление пакетов
sudo apt-get remove vim
При этом после такого удаления в каталогах могут остаться конфигурационные файлы.
Что бы удалить все компоненты пакета можно использовать другую команду:
sudo apt-get purge vim
Команды для очистки неиспользуемых компонентов
apt clean
Удаляет deb пакеты, из которых уже произвелась установка, во временном расположении. Т.о. если нет необходимости держать их в кеше, то их можно удалить.
Путь очищаемого каталога: /var/cache/apt/archives
После очистки останутся только каталоги lock и partial
apt autoremove
Данная команда обнаруживает пакеты, для которых отсутствуют зависимости и удаляет их. Таким образом после установки и удаления некоторых пакетов могут остаться неиспользуемые компоненты, и хорошей практикой будет выполнить эту команду, для их очистки и предотвращения захламления системы