Temos algumas fontes de PPA em alguns de nossos servidores, e nos colocamos em /etc/apt/sources.list.d
. Alguns desses repositórios fornecem os mesmos pacotes (em termos de nomes), mas versões diferentes e possivelmente binários diferentes. Existe uma maneira de como podemos PRIORIZAR um repo sobre outro?
Eu dei uma leitura ao tutorial apt_preferences, mas não poderia ser mais obscuro e não encontrei as respostas para a minha pergunta. Aqui está a situação. Temos as seguintes fontes:
$ ls -l /etc/apt/sources.list.d
total 12
-rw-r--r-- 1 root root 66 Jan 2 16:50 nginx-source.list
-rw-r--r-- 1 root root 84 Jan 2 16:49 ruby-ng-experimental-source.list
em que nginx-source.list
:
deb http://ppa.launchpad.net/nginx/stable/ubuntu precise main
e ruby-ng-experimental-source.list
:
deb http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu precise main
Ambas as fontes fornecem pacotes nginx-full de versões diferentes, etc.
Quando eu listo as prioridades, ruby-ng-experimental-source.list está no topo da saída, portanto o nginx-full é instalado a partir desse diretório:
$ apt-cache policy nginx-full
nginx-full:
Installed: 1:1.2.3-1~38~precise1
Candidate: 1:1.2.6-1~43~precise1
Version table:
1:1.2.6-1~43~precise1 0
500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
*** 1:1.2.3-1~38~precise1 0
100 /var/lib/dpkg/status
1.4.1-1ppa0~precise 0
500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
1.1.19-1ubuntu0.1 0
500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
1.1.19-1 0
500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages
Como priorizo o repo listado em nginx-source.list?
Eu tentei algo assim:
$ cat /etc/apt/preferences
Package: nginx-full
Pin: origin http://ppa.launchpad.net/nginx/stable/ubuntu
Pin-Priority: 1000
Package: nginx-full
Pin: origin http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu
Pin-Priority: 100
Mas isso mudou as prioridades de TODAS as fontes - ou algo assim?
$ apt-cache policy nginx-full
nginx-full:
Installed: 1:1.2.3-1~38~precise1
Candidate: 1:1.2.6-1~43~precise1
Package pin: (not found)
Version table:
1:1.2.6-1~43~precise1 1000
500 http://ppa.launchpad.net/brightbox/ruby-ng-experimental/ubuntu/ precise/main amd64 Packages
*** 1:1.2.3-1~38~precise1 1000
100 /var/lib/dpkg/status
1.4.1-1ppa0~precise 1000
500 http://ppa.launchpad.net/nginx/stable/ubuntu/ precise/main amd64 Packages
1.1.19-1ubuntu0.1 1000
500 http://mirror.rackspace.co.uk/ubuntu/ precise-updates/universe amd64 Packages
1.1.19-1 1000
500 http://mirror.rackspace.co.uk/ubuntu/ precise/universe amd64 Packages
Obrigado pelas respostas!