我正在使用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?
答案 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