当我运行puppet apply
时,它会尝试使用以下命令安装软件包:
/usr/bin/yum -d 0 -e 0 -y install couchdb-1.2.0-7.el6
我如何进行配置,使其按以下方式运行:
/usr/bin/yum -y install couchdb-1.2.0-7.el6
即没有删除调试日志?
答案 0 :(得分:0)
您可以在其中创建一个包含exec资源的模块。
> exec {
>
> "couchdb":
> command => "/usr/bin/yum -y -d 0 install couchdb-1.2.0-7.el6",
> path => "/usr/local/bin/:/bin/",
>
> }
作为测试,我对我的wget进行了更新。在运行模块之前,wget是在1.11.4-2.el5。在我的存储库中,我有1.11.4-3.el5_8.1。
以下是我的更新列表wget.x86_64'的结果:
Installed Packages
wget.x86_64 1.11.4-2.el5 installed
Available Packages
wget.x86_64 1.11.4-3.el5_8.1 update
这是我申请课后的傀儡输出(带有调试选项以显示输出):
debug:执行' / usr / bin / yum -y -d 0更新wget.x86_64'注意: / stage [main] / Yum-update-test / Exec [wget] / returns:成功执行
这是&yum更新列表wget.x86_64'的输出。在应用类/模块之后:
Installed Packages
wget.x86_64 1.11.4-3.el5_8.1 installed
答案 1 :(得分:0)
在等待通过此票证进行真正的修复时: https://tickets.puppetlabs.com/browse/PUP-3453
您唯一的解决方案是直接修改yum软件包提供程序: /usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yum.rb
def install
wanted = @resource[:name]
# If not allowing virtual packages, do a query to ensure a real package exists
unless @resource.allow_virtual?
yum *['-d', '0', '-e', '0', '-y', install_options, :list, wanted].compact
end
更改' -d'值为10,你就完成了
答案 2 :(得分:0)
如果您多次提供-d
或-e
选项的yum,它将使用最新的值。因此,您还可以在包资源上使用install_options
。例如:
package { 'wget':
install_options => ['-d' , '10' , '-e' , '1' , '-v'],
}
您的木偶日志将包含以下内容:
2017-10-19 14:02:48 +0000 Puppet (debug): Executing: '/usr/bin/yum -d 0 -e 0 -y -d 10 -e 1 -v install wget'
...以及所有调试输出。