Очевидно, что если вы используете puppet для запроса «php» и у вас установлена версия 5.3, то даже если в ваших репозиториях yum есть 5.6 php-пакетов, требование «php56» не будет выполнять обновление. Все документы, которые я прочитал, говорят, чтобы войти в узел и использовать sudo и yum, чтобы удалить существующие пакеты php и заменить их на 5.6. Эти узлы находятся в работе, и я хотел бы использовать Puppet для обновления моего PHP. У кого-нибудь есть опыт в этом?
Вообще говоря, Puppet будет обновлять пакеты только в том случае, если вы используете такой ресурс, как:
# always update to the latest version
package { 'php':
ensure => 'latest',
}
# update (or revert) to a specific version
package { 'php':
ensure => '5.6',
}
Обратите внимание, что в последнем случае данная версия должна точно соответствовать метке на упаковке, например, 5.6.24+dfsg-0+deb8u1
на Debian 8.
Поскольку вы, вероятно, используете модуль Forge для управления PHP (вам следует), вам необходимо проверить возможности этого модуля, чтобы переопределить соответствующий ensure
ценности).
Если нет, вы можете прибегнуть к незначительному взлому, используя сборщик ресурсов:
Package<| title == "php" |> { ensure => 'latest' }
Это имеет те же предостережения, но может быть достаточно для вашего случая использования.
Что бы вы ни делали, тщательно проверяйте код, прежде чем использовать его во всей производственной среде.
Других решений пока нет …