Puppet: ¿cómo instalar el paquete git desde Debian wheezy-backports?

Puppet: ¿cómo instalar el paquete git desde Debian wheezy-backports?

Estoy usando el módulo Apt (https://forge.puppetlabs.com/puppetlabs/apt) y hemos agregado una entrada para el repositorio de backports de Debian wheezy:

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'],
}

Puedo instalar con éxito paquetes que están disponibles en wheezy-backports pero no en el repositorio predeterminado, así que creo que la configuración en sí es correcta. La instalación manual desde backports apt-get install git -t wheezy-backportstambién funciona.

Pero, ¿cómo fuerzo a Puppet a recuperar un paquete de wheezy-backports en lugar del repositorio predeterminado? Específicamente, quiero instalar git-1.9.1-1 que está en backports sibilantes pero

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

falla.

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

solo instalará la última versión del repositorio predeterminado, pero no la versión más reciente del backport.

Indique cómo obligar a Puppet a recuperar un paquete específico del repositorio de wheezy-backports.

Respuesta1

Desde elDocumentación de backports de Debian, debe especificar manualmente el repositorio cuando lo instala a través de la CLI, porque los paquetes respaldados tienen una prioridad más alta que los paquetes predeterminados.

segúnesta respuesta de ServerFault, necesitarás anclar todo el repositorio o paquetes individuales para usar backports.

Con el módulo apt de Puppetlabs, puedes hacer esto usando la apt::backportsclase, que agregará el repositorio de backports y soltará un archivo pin:

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

Si no desea anclar todo el repositorio, puede anclar paquetes individuales usando apt::pin(el siguiente es un ejemplo, es posible que deba modificarlo):

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

Más documentación está aquí:https://forge.puppetlabs.com/puppetlabs/apt#pin-a-specific-release

información relacionada