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

Как установить приоритет пакета, PPA, репозитория Apt в Ubuntu

Это простое руководство показывает, как установить приоритет определенного пакета и/или подходящего репозитория в Ubuntu, Debian, Linux Mint.

В Ubuntu мы устанавливаем пакеты программного обеспечения из разных источников, включая репозитории юниверсов Ubuntu (с использованием программного обеспечения Ubuntu), PPA Ubuntu (например, LibreOffice, Kodi , GIMP и др.), собственные репозитории приложений (например, Chrome, VirtualBox, Opera и др.).

Мы даже можем устанавливать приложения из других дистрибутивов Linux. Например, в Ubuntu можно установить IPTV-плеер Linux Mint, Web App Manager и браузер Chromium (в формате deb).

Зачем устанавливать приоритет:

Однако установка из смешанных источников программного обеспечения может вызвать следующие вопросы:

  1. Заблокировать пакет в указанной версии.
  2. Один и тот же пакет имеется в нескольких репозиториях, но вы хотите установить или получать обновления пакета из определенного репозитория.
  3. Установите только один или два пакета из репозитория, от всех остальных откажитесь.

Создайте и установите приоритет пакета:

Проблемы можно устранить, добавив файл правил в каталог /etc/apt/preferences.d/ и закрепив приоритет.

Просто откройте терминал из панели запуска системных приложений и запустите команду для создания и редактирования файла конфигурации (замените gedit для другой системы):

sudo gedit /etc/apt/preferences.d/99mint-repository

В данном случае я создал файл 99mint-repository и добавил следующие строки:

# Allow upgrading only webapp-manager from Ulyssa repository
Package: webapp-manager
Pin: release n=ulyana
Pin-Priority: 500

# Also allow upgrading chromium (Added by another post).
Package: chromium
Pin: release n=ulyana
Pin-Priority: 500

# Never prefer other packages from the Ulyssa repository
Package: *
Pin: release n=ulyana
Pin-Priority: 1

Как видите, каждая запись состоит из трех строк (исключая строку описания, начинающуюся с #) и разделенных пустой строкой.

Три строки, начинающиеся с Package:, указывают пакеты: «webapp-manager», «chromium» и «*» (все).

О строке «Pin:»:

Вторая строка определяет определение контакта. Это может быть Pin: версия 1.0.99*, «*» — это «подстановочный знак», обозначающий пакет со всеми версиями, начиная с 1.0.99.

Вы также можете использовать release или origin для указания источника пакета. Например:

Pin: release o=LP-PPA-team-xbmc
Pin: release l=linuxmint
Pin: origin packages.linuxmint.com

Параметры выпуска: a (архив), c (компоненты), v (версия), o (происхождение) и l (метка).

И вы можете узнать значения выпуска и происхождения, выполнив команду:

apt-cache policy |more

О количестве Pin-Priority:

Значение третьей строки может быть установлено следующим образом:

  • 1000 или выше. Установите версию из целевого выпуска, даже если она заменит (понижает) установленный пакет более высокой версией.
  • От 990 до 999. Установите версию, даже если она не входит в целевой выпуск, если только установленная версия не является более поздней.
  • От 500 до 899. Установите версию, если только не существует доступной версии, принадлежащей целевому выпуску, или если установленная версия не является более поздней.
  • От 100 до 499. Установите версию, если только не существует доступной версии, принадлежащей другому дистрибутиву, или если установленная версия не является более поздней.
  • От 1 до 99. Устанавливайте версию только в том случае, если установленная версия пакета не установлена.
  • -1 или ниже. Запретить установку версии

После настройки файла конфигурации обновите кеш системных пакетов с помощью команды sudo apt update и все готово.

Статьи по данной тематике