Как полностью предотвратить установку более новой версии того же пакета из другого источника, используя apt - PullRequest
0 голосов
/ 24 апреля 2019

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

Возьмите следующий пример политики apt-cache:

mariadb-client:

Installed: 10.1.37-0+deb9u1
Candidate: 10.1.38-0+deb9u1

Version table:
  10.1.37-0+deb9u1 990
    990 http://security.debian.org stretch/updates/main amd64 Packages
  10.1.38-0+deb9u1 10
    10  http://my.mirrorserver.com/debian stretch/main amd64 Packages

Исходя из вышеизложенного, если my.mirrorserver.com имеет более новую версию, но я предпочитаю версию, полученную из security.debian.org, как мне настроить apt preference / aptисходные файлы, чтобы гарантировать, что даже если есть более новая версия от my.mirrorserver.com, что кандидат остается 10.1.37-0 + deb9u1 из security.debian.org и что 10.1.38-0 + deb9u1 не установлен из моего.mirrorserver.com?

Что я пробовал:

Попытка отрицать пин-код в зависимости от происхождения в файле настроек:

Package: *mariadb*
Pin: origin my.mirrorserver.com
Pin-Priority: -1 or a value < 100

Package: *mariadb*
Pin: origin security.debian.org
Pin-Priority: 990

Использованиеграфический интерфейс aptitude, я выбрал «Package> Forbid Version» - который не имел никакого значения.

Ожидаемые против текущих результатов:

Expected result pseudo output:

mariadb-client:

Installed: 10.1.37-0+deb9u1
Candidate: 10.1.37-0+deb9u1

Version table:
  10.1.37-0+deb9u1 990
    990 http://security.debian.org stretch/updates/main amd64 Packages
  10.1.38-0+deb9u1 10
    10  http://my.mirrorserver.com/debian stretch/main amd64 Packages

Текущий результат:

mariadb-client:

Installed: 10.1.38-0+deb9u1
Candidate: 10.1.38-0+deb9u1

Version table:
  10.1.37-0+deb9u1 990
    990 http://security.debian.org stretch/updates/main amd64 Packages
  10.1.38-0+deb9u1 10
    10  http://my.mirrorserver.com/debian stretch/main amd64 Packages```

How do I go about achieving such results / is it possible?
...