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

Предпочитаете локальное зеркало без изменения /etc/apt/sources.list?

У нас есть локальные зеркала для Ubuntu (Debian) по адресу http://ubuntu.wikimedia.org/ubuntu/ (https://mirrors.wikimedia.org/debian/). Я хочу настроить клиентов так, чтобы они предпочитали загружать / загружать только пакеты с этих зеркал вместо http://nova.clouds.archive.ubuntu.com/ubuntu/ (http://httpredir.debian.org/debian/). Я могу сделать это успешно, заменив URL-адреса в /etc/apt/sources.list, однако я заинтересован в этом без изменение /etc/apt/sources.list так что настройка очевидна и может быть легко отменена.

Я создал /etc/apt/sources.list.d/wikimedia-mirror.list с содержанием:

deb http://ubuntu.wikimedia.org/ubuntu/ trusty main universe
deb-src http://ubuntu.wikimedia.org/ubuntu/ trusty main universe

и /etc/apt/preferences.d/wikimedia-mirror.pref с участием:

Package: *
Pin: origin "ubuntu.wikimedia.org"
Pin-Priority: 501

После apt-get update, это приведет к тому, что пакеты с зеркала будут иметь приоритет 501, но apt-get загрузит эти пакеты из исходных источников:

scfc@toolsbeta-t68121-trusty:~$ apt-cache policy zsh-doc
zsh-doc:
  Installed: (none)
  Candidate: 5.0.2-3ubuntu6
  Version table:
     5.0.5-4ubuntu1~ubuntu14.04.1 0
        100 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages
     5.0.2-3ubuntu6 0
        500 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        501 http://ubuntu.wikimedia.org/ubuntu/ trusty/main amd64 Packages
scfc@toolsbeta-t68121-trusty:~$ sudo apt-get install zsh-doc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  zsh-doc
0 upgraded, 1 newly installed, 0 to remove and 35 not upgraded.
Need to get 2,274 kB of archives.
After this operation, 5,856 kB of additional disk space will be used.
Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu/ trusty/main zsh-doc all 5.0.2-3ubuntu6 [2,274 kB]
Fetched 2,274 kB in 3s (631 kB/s)    
Selecting previously unselected package zsh-doc.
(Reading database ... 38984 files and directories currently installed.)
Preparing to unpack .../zsh-doc_5.0.2-3ubuntu6_all.deb ...
Unpacking zsh-doc (5.0.2-3ubuntu6) ...
Processing triggers for install-info (5.2.0.dfsg.1-2) ...
Setting up zsh-doc (5.0.2-3ubuntu6) ...
scfc@toolsbeta-t68121-trusty:~$

Такое поведение согласуется с документацией в apt_preferences(5):

Несколько экземпляров одной и той же версии пакета могут быть доступны, когда sources.list(5) `файл содержит ссылки на более чем один источник. В таком случае apt-get загружает экземпляр, указанный ранее в sources.list(5) файл. Предпочтения APT не влияют на выбор экземпляра, только на выбор версии.

Есть ли способ предпочесть зеркало оригинальным источникам, не меняя /etc/apt/sources.list? Может файлы в /etc/apt/sources.list.d когда-либо быть "раньше" чем /etc/apt/sources.list? Возможно, есть вариант конфигурации, который можно (ab) использовать для «сопоставления» URL-адресов?