Действительно ли возможно прикрепить исходные пакеты? Если так, как?

Учитывая это /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 повиноваться приоритетам контакта?

4
задан 6 March 2019 в 19:07

2 ответа

Оказывается, что это не возможно на друга друга в команде APT. apt source не обращает внимание на прикрепление.

2
ответ дан 1 December 2019 в 10:14

Строго говоря, исходные пакеты представляют собой другое пространство имен, чем бинарные пакеты. Самая последняя версия apt (даже после Buster, так что сейчас она только в тестировании+) начала поддерживать закрепление исходного пакета by вместо бинарного пакета, используя префикс src:. .

Я бы установил следующую запись закрепления, если бы Buster уже поддерживал ее для предпочтения пакетов Ceph 14 (из бэкпортов) устаревшим пакетам v12 из стабильной версии, например:

Package: src:ceph
Pin: version 14.*
Pin-Priority: 1002

Намного лучше, чем перечислять пакеты десятки бинарных пакетов, сгенерированных из одного источника.

Я проверил более новый apt и, к сожалению, даже с этой новой функцией apt source по-прежнему игнорирует закрепление. :-(

1
ответ дан 3 May 2020 в 07:06

Другие вопросы по тегам:

Похожие вопросы: