Как отключить/заблокировать или внести в черный список обновления пакетов с помощью Apt Tool
APT означает, что Advanced Packaging Tool — это еще один менеджер пакетов, который можно найти в системах на базе Linux. Первоначально разработанный как интерфейс для dpkg для работы с пакетами .deb, apt сумел показать свою видимость в Mac OS, Open Solaris и т. д.
Хотите узнать и освоить команды APT и DPKG для управления пакетами Debian, тогда воспользуйтесь нашими подробными статьями, которые охватывают более 30+. > примеры для обоих инструментов.
В этой статье мы увидим различные методы отключения/блокировки установки, обновления и удаления пакетов в Debian Linux и его производных, таких как Ubuntu и Linux Mint.
1. Отключить/заблокировать пакет с помощью «apt-mark» с опцией удержания/снятия блокировки.
Команда apt-mark помечает или снимает отметку с пакета программного обеспечения как автоматически установленного и используется с опцией hold или unhold.
- hold — этот параметр используется для пометки пакета как отложенного, что блокирует установку, обновление или удаление пакета.
- отменить – эта опция используется для снятия ранее установленного удержания пакета и позволяет устанавливать, обновлять и удалять пакет.
Например, чтобы сделать пакет apache2
недоступным для установки, обновления или удаления, вы можете использовать следующую команду на терминале с правами root:
apt-mark hold apache2
Чтобы сделать этот пакет доступным для обновления, просто замените «hold» на «unhold».
apt-mark unhold apache2
Блокировка обновлений пакетов с помощью файла настроек APT
Другой способ заблокировать обновления определенного пакета — добавить его запись в /etc/apt/preferences
или /etc/apt/preferences.d/official-package-repositories.pref
файл. Этот файл отвечает за обновление или блокировку определенных обновлений пакетов в соответствии с приоритетом, указанным пользователем.
Чтобы заблокировать пакет, вам просто нужно ввести его название, дополнительную функцию и какой приоритет вы хотите его принять. Здесь приоритет < 1
заблокирует пакет.
Чтобы заблокировать любой пакет, просто введите его данные в файл /etc/apt/preferences
следующим образом:
Package: <package-name> (Here, '*' means all packages)
Pin: release *
Pin-Priority: <less than 0>
Например, чтобы заблокировать обновления для пакета apache2, добавьте запись, как показано:
Package: apache2
Pin: release o=Ubuntu
Pin-Priority: 1
Мы можем использовать другие параметры с ключевым словом Release для дальнейшей идентификации пакета, к которому мы применяем приоритет закрепления. Эти ключевые слова:
- a -> Архив
- c -> Компонент
- o -> Происхождение
- l -> Ярлык
- n -> Архитектура
нравиться :
Pin: release o=Debian,a=Experimental
Означало бы вытащить указанный пакет из экспериментального архива пакета Debian.
Занести в черный список обновление пакета с помощью файла автоматического удаления APT
Другой способ занести пакет в черный список при установке — обновить его запись в одном из файлов, содержащихся в каталоге /etc/apt/apt.conf.d/
, то есть 01autoremove.
Пример файла показан ниже:
APT
{
NeverAutoRemove
{
"^firmware-linux.*";
"^linux-firmware$";
};
VersionedKernelPackages
{
# linux kernels
"linux-image";
"linux-headers";
"linux-image-extra";
"linux-signed-image";
# kfreebsd kernels
"kfreebsd-image";
"kfreebsd-headers";
# hurd kernels
"gnumach-image";
# (out-of-tree) modules
".*-modules";
".*-kernel";
"linux-backports-modules-.*";
# tools
"linux-tools";
};
Never-MarkAuto-Sections
{
"metapackages";
"restricted/metapackages";
"universe/metapackages";
"multiverse/metapackages";
"oldlibs";
"restricted/oldlibs";
"universe/oldlibs";
"multiverse/oldlibs";
};
};
Теперь, чтобы внести в черный список любой пакет, достаточно ввести его имя в Never-MarkAuto-Sections
. Просто введите имя пакета в конце в Never-MarkAuto-Section
, сохраните и закройте файл. Это заблокирует apt для поиска дальнейших обновлений этого пакета.
Например, чтобы внести пакет в черный список от обновления, добавьте запись, как показано:
Never-MarkAuto-Sections
{
"metapackages";
"restricted/metapackages";
"universe/metapackages";
"multiverse/metapackages";
"oldlibs";
"restricted/oldlibs";
"universe/oldlibs";
"multiverse/oldlibs";
"apache2*";
};
};
Пользовательский выбор пакета для обновления
Другой вариант — выбрать, что вы хотите обновить. Инструмент apt дает вам свободу выбора того, что вы хотите обновить, но для этого вам необходимо знать, какие пакеты доступны для обновления.
В таких случаях может оказаться полезным следующий набор команд:
a. Чтобы вывести список пакетов, ожидающих обновления.
apt-get -u -V upgrade
b. Установить только выборочные пакеты.
apt-get --only-upgrade install <package-name>
Заключение
В этой статье мы объяснили несколько способов отключить/заблокировать или внести в черный список обновления пакетов с помощью APT. Если вы знаете какой-либо другой предпочтительный способ, сообщите нам об этом через комментарии или если вы ищете команду yum для отключения/блокировки обновления пакета, тогда прочитайте эту статью ниже.