Поиск по сайту:

Как отключить/заблокировать или внести в черный список обновления пакетов с помощью 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.

  1. hold — этот параметр используется для пометки пакета как отложенного, что блокирует установку, обновление или удаление пакета.
  2. отменить – эта опция используется для снятия ранее установленного удержания пакета и позволяет устанавливать, обновлять и удалять пакет.

Например, чтобы сделать пакет 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 для дальнейшей идентификации пакета, к которому мы применяем приоритет закрепления. Эти ключевые слова:

  1. a -> Архив
  2. c -> Компонент
  3. o -> Происхождение
  4. l -> Ярлык
  5. 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 для отключения/блокировки обновления пакета, тогда прочитайте эту статью ниже.