如何在Puppet中检查已安装的软件包?

时间:2015-07-08 18:14:30

标签: puppet rpm

我正在使用wget下载RPM,我想在下载之前检查包是否已安装。我没有使用RPM回购,所以我不能只做

package { ...
  ensure => installed
}

我该怎么做:

if HOW_TO_CHECK_IF_PACKAGE_X_IS_INSTALLED
   ... do wget etc.

在有人要求之前,这对我不起作用:Puppet - test if a package already defined?

2 个答案:

答案 0 :(得分:3)

如果你正在下载并安装它,你可以这样做:

OperationTimeout

答案 1 :(得分:0)

解决方案是一个自定义因素:

require"puppet"
module Puppet::Parser::Functions
  newfunction(:package_installed, :type => :rvalue) do |args|
    packageName = args[0]
    return system "rpm --quiet -q #{packageName}"
  end
end
相关问题