Como adiciono um repositório, mas apenas para um pacote / versão específico e suas dependências?

5

Eu gostaria de usar o repositório Natty Narwhal para pacotes de fantoches, mas não quero atualizar meu servidor inteiro. Isso é possível?

Minha solução atual é buscar os pacotes .deb manualmente

    
por andrewsomething 23.02.2011 / 00:49

1 resposta

4

Fixar é uma técnica avançada de gerenciamento de pacotes que permite que você permaneça estável durante a captura de pacotes de uma versão mais recente. versão. A mixagem de repositórios não é suportada e pode causar problemas se o pacote desejado tiver sido compilado em versões de bibliotecas diferentes das que você possui em seu sistema. Se possível, você deve tentar obter o pacote do repositório backports (ou possivelmente um PPA bem suportado) primeiro. Dito isto, você parece já saber que puppet do Natty funciona bem no seu sistema.

Para colocar puppet na versão natty, teremos que editar alguns arquivos. Primeiro você precisará definir sua versão padrão em /etc/apt/apt.conf.d/01ubuntu (suponho que você esteja usando lucid, obviamente substitua a versão atual):

APT
{
Default-Release "lucid";
};

Em seguida, você precisa adicionar natty ao seu /etc/apt/sources.list ou criar um novo arquivo /etc/apt/sources.list.d/natty.sources.list com as seguintes fontes:

deb http://archive.ubuntu.com/ubuntu natty main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu natty main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu natty-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu natty-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu natty-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu natty-security main restricted universe multiverse

Em seguida, você precisa definir o "Pin-Priority" para o pacote puppet do Natty acima da prioridade da sua versão padrão. Definir a versão padrão em /etc/apt/apt.conf.d/01ubuntu essencialmente define a prioridade para todos os pacotes originados naquela versão para 990. Então, em /etc/apt/preferences , precisamos compensar isso para puppet , usando algo mais alto como:

Package: puppet
Pin: release n=natty
Pin-Priority: 995

Agora, basta executar e apt-get update && apt-get upgrade

    
por andrewsomething 18.08.2011 / 06:17