例如,我已经安装了php-fpm:
Name : php-fpm Arch : x86_64 Version : 5.4.16 Release : 23.el7_0.3 Size : 4.5 M Repo : installed From repo : updates Summary : PHP FastCGI Process Manager URL : http://www.php.net/ License : PHP and Zend and BSD
目标是让PHP保持最新的5.4版本。 目前我在清单中有这个: ensure => '5.4.16-23.el7_0.3',
这不会更新,如果新版本或释放出来,而我不希望它更新到5.5意外。
我已经尝试了以下内容:
ensure => '5.4.16', ensure => '5.4', ensure => '5.4.16-*', ensure => '5.4.*', 所有这些都给了我类似的东西:
change from 5.4.16-23.el7_0.3 to 5.4 failed: Could not update: Failed to update to version 5.4, got version 5.4.16-23.el7_0.3 instead
这是在RHEL / CentOS上,它可能符合要求,只是ensure => latest,对于PHP,我只是使用PHP为例。 我只想知道:
我在RHEL / CentOS 7上运行开源Puppet 3.7.5。
不,木偶不能更新到最新的未成年人,但只能保证特定的版本,或者可以确保软件包存在或最新。
你应该做的是创build自己的定制仓库,它将只有你的相关性的包(例如5.4系列的PHP),然后在傀儡刚刚设置:
package { 'php-fpm': ensure => latest }
这将检查每一个木偶运行,如果有更新。
另外,如果您不使用为您的系统提供更新的PHP软件包的其他软件库,请ensure => latest将按照您的要求运行,因为CentOS更新其软件包的方式。 在CentOS 7中永远不会有php-5.5,但是php会停留在5.4系列。 5.5和任何更新的更新将通过php55,php56等提供 – 这意味着您将不得不在puppet清单中更改包名以反映您想要的版本,例如:
package { 'php56-fpm': ensure => latest }
所以,答案是否定的,你必须确保你的存储库只提供你想要的主要版本,然后你可以在puppet中使用ensure => latest 。
要在存储库中设置,可以使用如下所示的内容: