Назад | Перейти на главную страницу

Можно ли связать два репозитория package.sury.org без уникальной метки, компонента, происхождения и т. Д.?

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

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

/etc/apt/sources.list.d
; ls
total 64
-rw-r--r-- 1 root root  55 Jan 23 14:08 deb-backports.list
-rw-r--r-- 1 root root 158 Mar  4 06:05 deb-experimental.list
-rw-r--r-- 1 root root 164 Jan 23 14:23 deb-security.list
-rw-r--r-- 1 root root 146 Mar  4 06:05 deb-stable.list
-rw-r--r-- 1 root root 148 Mar  4 06:05 deb-testing.list
-rw-r--r-- 1 root root 150 Mar  4 06:05 deb-unstable.list
-rw-r--r-- 1 root root  42 Nov 30 22:35 dotdeb.list
-rw-r--r-- 1 root root  54 Nov 30 22:35 dotdeb.nginx-http2.list
-rw-r--r-- 1 root root 189 Oct  2 00:59 google-chrome.list
-rw-r--r-- 1 root root  49 Feb  6 18:51 suryorg-nginx.list <-- here
-rw-r--r-- 1 root root  47 Feb  6 18:53 suryorg-php.list   <-- here

Чтобы сэкономить немного времени на вводе текста, у меня все те же настройки в /etc/apt/preferences.d так как этот другой вопрос ServerFault относительно подходящего закрепления ... (хотя это в основном не имеет значения) .. а также одно дополнительное настраиваемое правило закрепления для packages.sury.org, который предоставляет два отдельных репозитория для nginx и php. (это не имеет значения ...)

Это приводит к этому apt-cache policy:

Package files:
 100 /var/lib/dpkg/status
     release a=now
 950 https://packages.sury.org/php/ jessie/main amd64 Packages
     release n=jessie,c=main
     origin packages.sury.org
 950 https://packages.sury.org/nginx/ jessie/main amd64 Packages
     release n=jessie,c=main
     origin packages.sury.org
 900 http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages
     release v=1.0,o=Google, Inc.,a=stable,n=stable,l=Google,c=main
     origin dl.google.com
 500 http://packages.dotdeb.org/ jessie-nginx-http2/all amd64 Packages
     release o=packages.dotdeb.org,a=jessie-nginx-http2,n=jessie-nginx-http2,l=packages.dotdeb.org,c=all
     origin packages.dotdeb.org
 500 http://packages.dotdeb.org/ jessie/all amd64 Packages
     release o=packages.dotdeb.org,a=jessie,n=jessie,l=packages.dotdeb.org,c=all
     origin packages.dotdeb.org
 500 http://ftp.us.debian.org/debian/ unstable/non-free Translation-en
 500 http://ftp.us.debian.org/debian/ unstable/main Translation-en
 500 http://ftp.us.debian.org/debian/ unstable/contrib Translation-en
  50 http://ftp.us.debian.org/debian/ unstable/non-free amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=non-free
     origin ftp.us.debian.org
     ... { snipped }

Я был очень смущен тем, как закрепить собственные / сторонние репозитории apt, такие как dotdeb и sury.org, пока не понял, как использовать a=, n=, v=, c=, o=, а также варианты "origin" и "release" для строки Pin: my sury.org, как описано в страница руководства apt_preferences. Например, сделать пин для нескольких репозиториев dotdeb просто:

Package: *
Pin: release a=jessie
Pin-Priority: 500

Package: * 
Pin: release a=jessie-nginx-http2 
Pin-Priority: -1 

... со строчкой "архив" (a= bit) легко доступен через apt-cache policy. (Примечание: я не понимаю, если фактически выполнение этого конкретного примера выше будет иметь смысл во многих ситуациях, просто надуманный пример).

Затем мы попадаем на sury.org:

 950 https://packages.sury.org/php/ jessie/main amd64 Packages
     release n=jessie,c=main
     origin packages.sury.org
 950 https://packages.sury.org/nginx/ jessie/main amd64 Packages
     release n=jessie,c=main
     origin packages.sury.org

Как видите, здесь указано только кодовое имя (n=jessie) и нет уникального имени архива, компонента или метки.

Я пытался использовать origin метод, e.x.

Package: *
Pin: origin packages.sury.org
Pin-Priority: 950

И вы можете видеть выше в apt-cache policy вывод, это делает работай. Однако нет никакого способа сузить круг вопросов до отдельных лиц. /nginx/ или /php/ части каталога репозитория, насколько я могу судить. Поместив часть каталога / пути в "Pin:"строка перестает соответствовать правилу. То есть ...

...
Pin: origin packages.sury.org/nginx/

Не работает должным образом. Есть ли обходной путь для этого? Или это просто недостаток сопровождающего sury.org (что не в обиду для них, они отлично справляются ... это всего лишь крайний случай, и мне также честно любопытно)

Спасибо вам большое за ваше время.