Привязка пакетов Debian 10 к определенным версиям

“Блокировка версии пакета Debian 10”

Чтобы запретить обновления пакетов в Debian 10 (Buster) и заблокировать их для определенных версий, вы можете использовать различные методы. Я опишу несколько подходов вместе с примерами кода:

Метод 1: использование apt_preferences

  1. Создайте файл в /etc/apt/preferences.d/, например, package-lock.pref.
  2. Отредактируйте файл и укажите имя и версию пакета, который вы хотите заблокировать, используя следующий синтаксис:
Package: <package_name>
Pin: version <package_version>
Pin-Priority: 1001

Вот пример того, как это должно выглядеть:

Package: nginx
Pin: version 1.14.2-2+deb10u3
Pin-Priority: 1001
  1. Сохраните файл и выйдите.

Метод 2: использование apt-mark

  1. Установите пакет и запретите его обновление с помощью команды apt-mark:
sudo apt-get install <package_name>=<package_version>
sudo apt-mark hold <package_name>

Например, чтобы заблокировать пакет nginxверсии 1.14.2-2+deb10u3, вы должны выполнить:

sudo apt-get install nginx=1.14.2-2+deb10u3
sudo apt-mark hold nginx

Метод 3: использование dpkg

  1. Загрузите файл пакета с помощью apt-get download:
sudo apt-get download <package_name>=<package_version>

Например:

sudo apt-get download nginx=1.14.2-2+deb10u3
  1. Установите загруженный файл пакета с помощью dpkgи запретите будущие обновления:
sudo dpkg -i <package_file.deb>
sudo apt-mark hold <package_name>

Например:

sudo dpkg -i nginx_1.14.2-2+deb10u3_amd64.deb
sudo apt-mark hold nginx