1

当我运行时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

也就是说,不删除调试日志?

4

3 回答 3

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。

以下是我的 'yum update list 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: Executing '/usr/bin/yum -y -d 0 update wget.x86_64' 通知: /Stage[main]/Yum-update-test/Exec[wget]/returns: 执行成功

这是应用类/模块后“yum update list wget.x86_64”的输出:

Installed Packages
wget.x86_64                1.11.4-3.el5_8.1                            installed
于 2012-11-07T20:30:00.363 回答
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 即可完成

于 2015-03-17T17:58:14.217 回答
0

如果您多次提供 yum-d或选项,它将使用最新的值。-e所以,你也可以install_options在你的包资源上使用。例如:

package { 'wget':
  install_options => ['-d' , '10' , '-e' , '1' , '-v'],
}

然后,您的 puppet 日志将包括以下内容:

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'

...以及所有调试输出。

于 2017-10-19T14:08:07.113 回答