Я использую модуль Кв. (https://forge.puppetlabs.com/puppetlabs/apt) и добавил запись для 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'],
}
Я могу успешно установить пакеты, которые доступны в хрипящих бэкпортах, но не в репозитории по умолчанию, таким образом, я думаю, что сама конфигурация корректна. Вручную устанавливая от использования бэкпортов apt-get install git -t wheezy-backports
работы также.
Но как я вынуждаю Марионетку получить пакет от хрипящих бэкпортов вместо репозитория по умолчанию? А именно, я хочу установить git-1.9.1-1, который находится в хрипящих бэкпортах, но
package { "git": ensure => "1:1.9.1-1~bpo70+2", }
сбои.
package { "git": ensure => "latest", }
только установит последнюю версию из репозитория по умолчанию, но не более новой версии бэкпорта.
Советуйте, как вынудить Марионетку получить определенный пакет из репозитория хрипящих бэкпортов.
Из документации по обратным портам Debian вам необходимо вручную указать репозиторий, когда вы установить через интерфейс командной строки, поскольку пакеты с обратным переносом закреплены с более высоким приоритетом, чем пакеты по умолчанию.
Согласно этот ответ ServerFault , вам нужно будет закрепить либо весь репозиторий, либо отдельные пакеты для использования обратных портов.
1219] С помощью модуля Puppetlabs apt вы можете сделать это с помощью класса apt :: backports
, который одновременно добавит репозиторий backports и сбросит файл контактов:
class { 'apt::backports':
location => 'http://ftp.de.debian.org/debian',
release => 'wheezy-backports',
repos => 'main',
pin => 500,
}
Если вы не хотите чтобы закрепить весь репозиторий, вы можете закрепить отдельные пакеты с помощью apt :: pin
(ниже приведен пример, вам может потребоваться настроить it):
apt::pin { 'backports_git':
packages => 'git',
priority => 500,
release => 'main',
}
Дополнительная документация здесь: https://forge.puppetlabs.com/puppetlabs/apt#pin-a-specific-release