Puppet: como instalar o pacote git do Debian wheezy-backports?

Puppet: como instalar o pacote git do Debian wheezy-backports?

Estou usando o módulo Apt (https://forge.puppetlabs.com/puppetlabs/apt) e adicionamos uma entrada para o repositório wheezy backports do Debian:

apt::source { 'wheezy-backports':
    location    => 'http://ftp.de.debian.org/debian',
    release     => 'wheezy-backports',
    repos       => 'main',
    include_deb => true,
    include_src => true,
    notify      => Exec['apt-get-update'],
}

Posso instalar com sucesso pacotes que estão disponíveis em wheezy-backports, mas não no repositório padrão, então acho que a configuração em si está correta. Instalar manualmente a partir de backports usando apt-get install git -t wheezy-backportsfunciona também.

Mas como faço para forçar o Puppet a recuperar um pacote do wheezy-backports em vez do repositório padrão? Especificamente, quero instalar o git-1.9.1-1, que está em backports ofegantes, mas

package { "git": ensure => "1:1.9.1-1~bpo70+2", }

falha.

package { "git": ensure => "latest", }

instalará apenas a versão mais recente do repositório padrão, mas não a versão mais recente do backport.

Por favor, informe como forçar o Puppet a recuperar um pacote específico do repositório wheezy-backports.

Responder1

DeDocumentação de backports do Debian, você precisará especificar manualmente o repositório ao instalar por meio da CLI, porque os pacotes backportados são fixados com uma prioridade mais alta do que os pacotes padrão.

Conformeesta resposta ServerFault, você precisará fixar o repositório inteiro ou pacotes individuais para usar backports.

Com o módulo apt do Puppetlabs, você pode fazer isso usando a apt::backportsclasse, que irá adicionar o repositório backports e soltar um arquivo pin:

class { 'apt::backports':
  location => 'http://ftp.de.debian.org/debian',
  release  => 'wheezy-backports',
  repos    => 'main',
  pin      => 500,
}

Se não quiser fixar o repositório inteiro, você pode fixar pacotes individuais usando apt::pin(o exemplo abaixo, pode ser necessário ajustá-lo):

apt::pin { 'backports_git':
  packages => 'git',
  priority => 500,
  release  => 'main',
}

Mais documentação está aqui:https://forge.puppetlabs.com/puppetlabs/apt#pin-a-specific-release

informação relacionada