Puppet: Debian wheezy-backports에서 git 패키지를 설치하는 방법은 무엇입니까?

Puppet: Debian wheezy-backports에서 git 패키지를 설치하는 방법은 무엇입니까?

저는 Apt 모듈을 사용하고 있습니다(https://forge.puppetlabs.com/puppetlabs/apt) 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'],
}

wheezy-backports에서는 사용 가능하지만 기본 저장소에서는 사용 가능한 패키지를 성공적으로 설치할 수 있으므로 구성 자체가 정확하다고 생각합니다. 작동을 사용하여 백포트에서 수동으로 설치합니다 apt-get install git -t wheezy-backports.

하지만 Puppet이 기본 저장소 대신 wheezy-backports에서 패키지를 검색하도록 하려면 어떻게 해야 할까요? 특히 wheezy 백포트에 있는 git-1.9.1-1을 설치하고 싶지만

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

실패합니다.

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

기본 저장소의 최신 버전만 설치하고 최신 백포트 버전은 설치하지 않습니다.

Puppet이 wheezy-backports 저장소에서 특정 패키지를 검색하도록 강제하는 방법을 알려주십시오.

답변1

로부터데비안은 문서를 백포트합니다, 백포트된 패키지는 기본 패키지보다 높은 우선 순위로 고정되므로 CLI를 통해 설치할 때 리포지토리를 수동으로 지정해야 합니다.

에 따라이 ServerFault 답변, 백포트를 사용하려면 전체 저장소 또는 개별 패키지를 고정해야 합니다.

apt::backportsPuppetlabs apt 모듈을 사용 하면 백포트 저장소를 추가하고 핀 파일을 삭제하는 클래스를 사용하여 이 작업을 수행할 수 있습니다 .

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

전체 저장소를 고정하지 않으려면 다음을 사용하여 개별 패키지를 고정할 수 있습니다 apt::pin(아래는 예이므로 조정해야 할 수도 있음).

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

더 많은 문서는 여기에 있습니다:https://forge.puppetlabs.com/puppetlabs/apt#pin-a-특이적-release

관련 정보