Puppet 使用自定义安装标志安装多个RPM

Puppet 使用自定义安装标志安装多个RPM,puppet,Puppet,我正试图做一些初步的工作,让我们的开发车间在开发过程中开始使用vagrant+puppet。在puppet清单开发的这个阶段,我需要安装几个RPM,这些RPM可以通过内部http服务器(而不是repo)使用非常特定的标志('--nodeps')使用 下面是我需要安装的示例: http://1.2.3.4/bar/package1.rpm http://1.2.3.4/bar/package2.rpm http://1.2.3.4/bar/package3.rpm 我通常会这样安装它们: rpm

我正试图做一些初步的工作,让我们的开发车间在开发过程中开始使用vagrant+puppet。在puppet清单开发的这个阶段,我需要安装几个RPM,这些RPM可以通过内部http服务器(而不是repo)使用非常特定的标志('--nodeps')使用

下面是我需要安装的示例:

http://1.2.3.4/bar/package1.rpm
http://1.2.3.4/bar/package2.rpm
http://1.2.3.4/bar/package3.rpm
我通常会这样安装它们:

rpm --install --nodeps ${rpm_uri}
我希望能够做这样的事情

$custom_rpms = [
    'http://1.2.3.4/bar/package1.rpm',
    'http://1.2.3.4/bar/package2.rpm',
    'http://1.2.3.4/bar/package3.rpm',
]

# edit:  just realized I was instantiating the parameterized
#        class wrong.  :) 
class { 'custom_package': package_file => $custom_rpms }
使用此模块

# modules/company_packages/manifests/init.pp
define company_package($package_file) {
    exec { "/bin/rpm  --install --nodeps ${package_file} --nodeps" }
}

但是,我不确定这是否正确。你们中的一些木偶大师(不是双关语)能教我怎么做吗?

Randm通过irc.freenode.net#puppet回答

创建或使用现有的repo并使用yum进行安装,以便它为您解析依赖关系


Randm通过irc.freenode.net#puppet回答

创建或使用现有的repo并使用yum进行安装,以便它为您解析依赖关系


Randm通过irc.freenode.net#puppet回答

创建或使用现有的repo并使用yum进行安装,以便它为您解析依赖关系


Randm通过irc.freenode.net#puppet回答

创建或使用现有的repo并使用yum进行安装,以便它为您解析依赖关系


到目前为止,您可能已经解决了这个问题,但如果不是的话

使用存储库是首选方法,因为它将自动解决所有依赖项,但如果不可用,您可以尝试以下方法。(我以epel为例)

过去,“安装选项”仅在windows中受支持。 看起来它现在在linux中得到了支持。
如果序列有帮助,请将“require=Package[“package3.rpm”],”添加到序列中。

您现在可能已经解决了这个问题,但如果没有

使用存储库是首选方法,因为它将自动解决所有依赖项,但如果不可用,您可以尝试以下方法。(我以epel为例)

过去,“安装选项”仅在windows中受支持。 看起来它现在在linux中得到了支持。
如果序列有帮助,请将“require=Package[“package3.rpm”],”添加到序列中。

您现在可能已经解决了这个问题,但如果没有

使用存储库是首选方法,因为它将自动解决所有依赖项,但如果不可用,您可以尝试以下方法。(我以epel为例)

过去,“安装选项”仅在windows中受支持。 看起来它现在在linux中得到了支持。
如果序列有帮助,请将“require=Package[“package3.rpm”],”添加到序列中。

您现在可能已经解决了这个问题,但如果没有

使用存储库是首选方法,因为它将自动解决所有依赖项,但如果不可用,您可以尝试以下方法。(我以epel为例)

过去,“安装选项”仅在windows中受支持。 看起来它现在在linux中得到了支持。 如果序列有帮助,请在序列中添加“require=Package[“package3.rpm”]”

package {"epel-release":
  provider=>rpm,
  ensure=>installed,
  install_options => ['--nodeps'],
  source=>"http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm",
}