Linux. Пакетный менеджер apt

Заметка по пакетному менеджеру apt

Рассмотрим основные понятия и примеры команд

Что представляет из себя пакет

Пакет — это по своей сути архив, в котором содержатся все необходимые приложению бинарные, конфигурационные файлы, метаданные описывающие пакет, информацию о том, как их следует разместить в файловой системе, данные о зависимостях пакета, а также список действий которые необходимо выполнить в процессе установки

Характерным для Debian-based дистрибутивов является deb пакет .
С такими пакетами работает утилита(пакетный менеджер) dpkg. И хоть ее и нельзя назвать бесполезной, она все равно не такая функциональная как пакетные менеджеры более высокого уровня, например такие как apt.
apt умеет загружать пакеты из репозиториев и устанавливать их вместе с зависимостями.

dpkg это тема отдельной статьи, но здесь стоит сказать что им удобно запрашивать список установленных в системе пакетов. В том числе по маске

dpkg -l vim

Вывод списка производится в табличном виде

apt

apt (advanced packaging tool) — программа для установки, обновления и удаления программных пакетов в операционных системах Debian и основанных на них, например Ubuntu

Представляет из себя надстройку над dpkg.

Рассмотрим самые распространенные команды менеджера пакетов apt на примере работы с vim

Начиная с Ubuntu 18.04 можно писать сокращенно ‘apt’ опуская -get и -cache. Например apt update

Но не все сокращенные команды обеспечивают одинаковый вывод информации.
Например сравните 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

Данная команда обнаруживает пакеты, для которых отсутствуют зависимости и удаляет их. Таким образом после установки и удаления некоторых пакетов могут остаться неиспользуемые компоненты, и хорошей практикой будет выполнить эту команду, для их очистки и предотвращения захламления системы

Добавить комментарий

Ваш адрес email не будет опубликован.