通过 puppet 将 --nogpgcheck 传递给 yum

通过 puppet 将 --nogpgcheck 传递给 yum

如何--nogpgcheck通过 puppet 获取 yum 选项?我试过

package { 'unsigned-package':
  ensure          => latest,
  install_options => ['--nogpgcheck'],
}

package { 'unsigned-package':
  ensure          => latest,
  install_options => ['nogpgcheck'],
}

但查看代理运行的输出,yum 没有获得该选项。

另外(这也许是它对我不起作用的原因),我如何验证我的木偶是否具有安装选项特征?

我正在运行 puppet 3.3.0-rc2。

答案1

我发现使用 puppet 3.7.1 将“install_options”传递给 yum 提供程序是可行的。我能够使用它成功传递“--nogpgcheck”。现在只需更新您的 puppet 即可。

答案2

我已经能够回答我的第二个问题了,看起来安装选项在 3.3.0-rc2 版中尚未实现 yum。

$ grep -ro install_options /usr/lib/ruby/site_ruby/1.8/puppet/provider/package/ | sort | uniq
/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/msi.rb:install_options
/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/sun.rb:install_options
/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/windows.rb:install_options

真正的问题的答案是,由于这是一个自定义存储库,因此技巧是禁用 gpg 检查。这可以在实例化木偶尤姆雷波类型,例如

yumrepo { 'customrepo':
  gpgcheck => 0,
}

另一个选择,正如我在问题下方的评论中所述,是对软件包进行 gpg 签名。

答案3

从 Puppet 3.4.0 开始

 class pkgoptions {

        package { 'strace':
          ensure          => 'installed',
          provider        => 'yum',
          install_options => [ '--noplugins', '--enablerepo=fedora' ],
          # or install_options => [ '-t', 'squeeze-backports' ], for Debian backports
        }

      }

参考:http://www.unixdaemon.net/tools/puppet/puppet-package-install-options.html

相关内容