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

このチケットによる実際の修正を待っている間: 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

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: '/usr/bin/yum -y -d 0 update wget.x86_64' を実行しています notice: /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 に答える