Утилита управления пакетами apt
Начало работы с apt
Перед началом работы с apt рекомендуем выполнить команду apt update
, чтобы обновить список доступных пакетов.
Для каждого источника будут загружены файлы Packages
, Sources
, Translation-язык
.
Установка и удаление пакетов
Установка и удаление одной командой
Оболочки apt могут установить одни пакеты и удалить другие одной командой, используя специальные суффиксы -
и +
для apt install
и apt remove
соответственно.
Этим способом можно предотвращать установку пакетов, которые по умолчанию были бы включены в установку — например, зависимости Recommends
.
Установка пакетов на несколько устройств
- Запишите список установленных на шаблонном устройстве пакетов в файл pkg-list.
dpkg --get-selections >pkg-list
-
Перерешлите pkg-list на другие устройства.
-
Обновите базу известных пакетов для dpkg.
avail=`mktemp`
apt-cache dumpavail > "$avail"
dpkg --merge-avail "$avail"
rm -f "$avail"
- Загрузите список пакетов, которые нужно установить.
dpkg --set-selections < pkg-list
- Установите пакеты, выбранные с помощью dpkg.
apt-get dselect-upgrade
Переустановка пакета
Как правило, apt отказывается переустанавливать пакет, если он уже установлен, но можно воспользоваться опцией --reinstall
. Следующая команда переустановит пакет с разрешением зависимостей, но не восстановит конфигурационные файлы.
apt --reinstall install <пакет>
Восстановление пакета
Следующая команда во время установки предложит отменить изменения в конфигурационном файле или восстановить удалённый файл.
apt --reinstall -o Dpkg::Options::="--force-confask,confmiss" install <пакет>
Приведенная команда будет спрашивать для каждого файла:
- оставить ли текущую версию;
- восстановить ли оригинальную версию;
- показать ли изменения.
Некоторые пакеты создают конфигурационные файлы в процессе инициализации путём копирования из других файлов или генерации скриптом.
В таких случаях приведенные выше команды работать не будут.
Выбор версии пакета
Если в файле /etc/apt/sources.list
указано несколько источников, можно выбрать версию пакета для установки.
Вторая команда актуальна для установки предыдущих или следующих версий (из тестинга/сида), при условии, что релиз закреплен в apt.conf.d
.
Установка из дополнительного источника
Чтобы установить пакет из дополнительного репозитория в перечне sources.list
, например, testing
, воспользуйтесь командой:
apt install <пакет>/testing
Установке могут помешать конфликтующие зависимости. Их можно разрешить с использованием нужного репозитория, добавив параметр -t testing
.
Установка без репозитория
Следующая команда установит пакет и связанные с ним зависимости без репозитория.
apt install ./путь-к-пакету.deb
Условия:
- необходимые зависимости должны быть доступны в репозитории;
- пакет должен быть передан в виде
.deb
-файла.
Скачивание пакетов без установки
Во втором случае будут скачаны пакеты .dxc
,.orig.tar.gz
, .debian.tar.xz
.
Настройка зависимостей
Можно отмечать пакеты, которые не нужны вне зависимостей. Такие пакеты будут удалены при удалении основного пакета. И наоборот: автоматически установленный пакет можно отметить, как отслеживаемый вручную.
Поиск зависимостей
Примечание:
-
apt rdepends
встроен в пакет apt; -
apt-rdepends
— это отдельная утилита, которая может требовать отдельной установки. -
cruft
— это команда, встроенная в пакет cruft-ng.
Фильтрация пакетов шаблонами запросов
Регулярные выражения позволяют отфильтровать пакеты по нужным критериями и совершать операции только над ними. Например:
Конструкция вида ?garbage
или ?config-files
, которая идет после команды, — это регулярное выражение, которое распознается apt в соответствии с правилами, описанными в руководствах:
man apt-patterns
(7)man glob
(7)
Примеры шаблонов
Шаблоны можно комбинировать в более сложные выражения:?and(шаблон, шаблон)