저는 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::backports
Puppetlabs 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