Утилита управления пакетами 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(шаблон, шаблон)