Я использую модуль Apt (https://forge.puppetlabs.com/puppetlabs/apt) и добавили запись для репозитория Debian wheezy backports:
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, но не в репозитории по умолчанию, поэтому я думаю, что сама конфигурация верна. Ручная установка из backports с помощью apt-get install git -t wheezy-backports
тоже работает.
Но как заставить Puppet извлечь пакет из wheezy-backports вместо репозитория по умолчанию? В частности, я хочу установить git-1.9.1-1, который находится в wheezy backports, но
package { "git": ensure => "1:1.9.1-1~bpo70+2", }
терпит неудачу.
package { "git": ensure => "latest", }
установит только последнюю версию из репозитория по умолчанию, но не более новую версию backport.
Пожалуйста, посоветуйте, как заставить Puppet извлечь определенный пакет из репозитория wheezy-backports.
решение1
ИзДокументация по обратным портам Debian, вам необходимо вручную указать репозиторий при установке через CLI, поскольку портированные пакеты закрепляются с более высоким приоритетом, чем пакеты по умолчанию.
Согласноэтот ответ ServerFault, вам нужно будет закрепить либо весь репозиторий, либо отдельные пакеты для использования бэкпортов.
С помощью модуля Puppetlabs apt вы можете сделать это, используя класс apt::backports
, который добавит репозиторий backports и сбросит файл pin:
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-specific-release