Можно ли закрепить исходные пакеты? Если так, то как?
Учитывая это /etc/apt/sources.list
файл:
deb http://us.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ cosmic main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ disco main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ disco main restricted universe multiverse
и это /etc/apt/preferences
файл:
Package: *
Pin: release a=cosmic
Pin-Priority: 900
Package: *
Pin: release a=disco
Pin-Priority: -10
Бег apt install some-package
установит версию с cosmic
, как я и ожидал.
Тем не менее, работает apt source some-package
загрузит (более новую) версию с disco
,
Как я могу сделать apt source
подчиняться приоритетам?
1 ответ
Оказывается, это невозможно, согласно другу друга в команде APT. apt source
не обращает внимания на закрепление.
Строго говоря, исходные пакеты - это другое пространство имен, чем двоичные пакеты. Самая последняя версия apt (даже после Buster, так что она только в тестировании + прямо сейчас) начала поддерживать закрепление по исходному пакету вместо двоичного пакета, используяsrc:
префикс.
Я бы установил следующую запись закрепления, если бы Buster уже поддерживал ее для предпочтения пакетов Ceph 14 (из бэкпортов) над устаревшими пакетами v12 из стабильной, например:
Package: src:ceph
Pin: version 14.*
Pin-Priority: 1002
Это намного лучше, чем перечислять десятки двоичных пакетов, сгенерированных из одного источника.
Я проверил с более поздним подходом, и, к сожалению, даже с этой новой функцией, apt source
по-прежнему игнорирует закрепление.:-(