Nós temos nosso próprio repositório apt / deb com um punhado de pacotes onde queremos controlar a versão. Crucialmente isso inclui fantoches, que podem ser sensíveis a versões diferentes.
Eu quero que nossos desktops recebam apenas fantoches do nosso repositório, mas também que as pessoas possam adicionar seus próprios PPAs, ativar backports etc. O problema atual que temos é backports no Ubuntu Lucid. Algumas linhas importantes de /etc/apt/sources.list
:
deb http://gb.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://gb.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://deb.example.org/apt/ubuntu/lucid/ binary/
E em /etc/apt/preferences.d/puppet
:
Package: puppet puppet-common
Pin: release a=binary
Pin-Priority: 800
Package: puppet puppet-common
Pin: release a=lucid-backports
Pin-Priority: -10
Atualmente, a política diz:
$ sudo apt-cache policy puppet
puppet:
Installed: (none)
Candidate: (none)
Package pin: 2.7.1-1ubuntu3.6~lucid1
Version table:
2.7.1-1ubuntu3.6~lucid1 -10
500 http://gb.archive.ubuntu.com/ubuntu/ lucid-backports/main Packages
100 /var/lib/dpkg/status
2.6.14-1puppetlabs1 -10
500 http://deb.example.org/apt/ubuntu/lucid/ binary/ Packages
0.25.4-2ubuntu6.8 -10
500 http://gb.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
500 http://security.ubuntu.com/ubuntu/ lucid-security/main Packages
0.25.4-2ubuntu6 -10
500 http://gb.archive.ubuntu.com/ubuntu/ lucid/main Packages
Se eu usar n=
em vez de a=
, obtenho Package pin: (not found)
Estou simplesmente confuso neste ponto sobre o que devo usar. Qualquer ajuda apreciada.
Editar
Passei mais tempo lendo a página do manual apt / preferences e encontrou a palavra-chave origin
. Então eu tentei agora:
Explanation: get puppet from our server
Explanation: priority over 1000 means downgrade if necessary
Package: puppet puppet-common
Pin: origin "deb.example.org"
Pin-Priority: 1001
Eu deletei a linha de backports. A página man diz que uma prioridade acima de 1000 levará a um downgrade. Mas como é, não há nada instalado. Ainda recebo Package pin: (not found)
e Candidate: (not found)
enquanto ainda obtenho a tabela de versão completa acima. Eu não vejo porque minha origem não muda a prioridade do deb.example.org.