如何从 Puppet 安装 rpm 包(依赖失败)

How to install rpm package from Puppet (Failed dependencies)

我正在尝试使用 Puppet 在 Centos7 上安装 perl-Apache-DBI(puppetserver 版本:2.7.2,puppet:4.8.1)。

手动,我会从这个 page 下载 rpm 包并使用 yum (yum install perl-Apache-DBI-1.12-1.el7.noarch.rpm) 安装它。

我在 Puppet 中尝试过:

package { perl-Apache-DBI:
  provider => 'rpm',
  ensure => installed,
  source => "https://harbottle.gitlab.io/epmel/7/x86_64//perl-Apache-DBI-1.12-1.el7.noarch.rpm",
}

有错误:

Error: Execution of '/bin/rpm -i https://harbottle.gitlab.io/epmel/7/x86_64//perl-Apache-DBI-1.12-1.el7.noarch.rpm' returned 1:
warning: /var/tmp/rpm-tmp.SKxxuP: Header V4 RSA/SHA256 Signature, key ID 540ecf1b: NOKEY
error: Failed dependencies:
perl(Digest::SHA1) >= 2.01 is needed by perl-Apache-DBI-1.12-1.el7.noarch
perl(Test::Simple) is needed by perl-Apache-DBI-1.12-1.el7.noarch

此外,我尝试使用包资源中的 yum 提供程序,但它也不起作用。

尝试从这里下载:

package { perl-Apache-DBI:
    provider => 'rpm',
    install_options => ['-q'],
    ensure => installed,
    source => "http://search.cpan.org/dist/Apache-DBI",
}

我已经更改了 url 来源

对我来说最好的方法可能是使用该软件包订阅一个 repo,然后使用 yum 安装。