We have local mirrors for Ubuntu (Debian) at http://ubuntu.wikimedia.org/ubuntu/ (https://mirrors.wikimedia.org/debian/). I want to configure clients to prefer downloading/only download packages from these mirrors instead of http://nova.clouds.archive.ubuntu.com/ubuntu/ (http://httpredir.debian.org/debian/). I can do this successfully by replacing the URLs in
/etc/apt/sources.list, however I am interested in doing this without changing
/etc/apt/sources.list so that the customization is obvious and can easily be reverted.
I have created
/etc/apt/sources.list.d/wikimedia-mirror.list with the content:
deb http://ubuntu.wikimedia.org/ubuntu/ trusty main universe deb-src http://ubuntu.wikimedia.org/ubuntu/ trusty main universe
Package: * Pin: origin "ubuntu.wikimedia.org" Pin-Priority: 501
apt-get update, this will cause packages from the mirror to have priority 501, yet
apt-get will download those packages from the original sources:
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:~$
This behaviour is consistent with the documentation in
Several instances of the same version of a package may be available when the sources.list(5)` file contains references to more than one source. In this case apt-get downloads the instance listed earliest in the sources.list(5) file. The APT preferences do not affect the choice of instance, only the choice of version.
Is there any way to prefer the mirror over the original sources without changing
/etc/apt/sources.list? Can files in
/etc/apt/sources.list.d ever be "earlier" than
/etc/apt/sources.list? Is there perhaps a configuration option that could be (ab)used for "mapping" the URLs?