Итак, несколько недель назад я начал использовать puppet для автоматизации всех конфигураций / сервисов. В то время я использовал репозиторий EPEL, в котором была установлена версия 2.6.x. После некоторого чтения я пытался получить доступ к flatten
доступный через марионеточный stdlib, и думал, что он доступен по умолчанию в более новой версии 2.7.x. Итак, я добавил марионеточное репо со следующими настройками:
[puppetlabs]
name=Puppet Labs Packages
baseurl=http://yum.puppetlabs.com/el/$releasever/products/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
Проблема в том, что он установлен v3.0.x вместо 2.7.x. И, очевидно, 3.0.x - это крупное обновление, выпущенное всего несколько недель назад. Очевидно, я бы предпочел использовать 2.7.x в течение следующих нескольких месяцев, пока PuppetLabs исправит любые дефекты, которые неизбежно возникнут после основной версии.
Итак, мой вопрос: какой параметр я могу добавить в конфигурацию репозитория марионетки, чтобы удалить только ветку 2.7.x, а не ветку 3.0.x?
Используйте плагин yum-versionlock, чтобы заблокировать версию пакета, которая вам нужна:
yum install yum-versionlock
Продолжать:
Теперь редактировать /etc/yum/pluginconf.d/versionlock.list
и укажите желаемую версию:
puppet 2.7.19
puppet-server 2.7.19
Наконец установите его. В зависимости от вашей текущей ситуации используйте только один из:
yum upgrade puppet
yum downgrade puppet
yum distro-sync
Установите конкретную версию марионетки:
yum install puppet-2.7.19
yum install puppet-server-2.7.19
Заблокируйте версию пакета до текущей установленной версии:
yum versionlock puppet
yum versionlock puppet-server