Марионетка: как установить пакет мерзавца от хрипящих бэкпортов Debian?

Я использую модуль Кв. (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", }

только установит последнюю версию из репозитория по умолчанию, но не более новой версии бэкпорта.

Советуйте, как вынудить Марионетку получить определенный пакет из репозитория хрипящих бэкпортов.

3
задан 1 October 2015 в 13:56
1 ответ

Из документации по обратным портам 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

4
ответ дан 3 December 2019 в 06:03

Теги

Похожие вопросы