Puppet 无法识别 Centos 中的软件包(存在于 yum 中)

Puppet 无法识别 Centos 中的软件包(存在于 yum 中)

我正在尝试使用 puppet 在 Centos 中安装一个包。

可以使用 yum install (sudo yum install bash-completion) 安装该软件包,但 puppet 说它不存在!(我在尝试安装其他几个软件包时也遇到了这个问题)。

以下是我所使用的:

    file { '/etc/bash_completion.d/symfony2-autocomplete.bash':
        ensure => present,
        owner => 'vagrant',
        group => 'vagrant',
        mode => '0777',
        require => Package['bash-completion'],
        content => template('extras/symfony2-autocomplete.bash'),
    }

是否有可用的 Puppet 软件包列表?(或者也许我忘了在某处包含某些内容?)

谢谢!

答案1

您根本没有指示 Puppet 安装任何包。

file { '...': require => Package['...'] }

不会导致包安装。它只是在file资源和命名之间建立关系package

package { 'bash-completion': ensure => 'installed' }

将满足您的需要。require元参数也将正常工作。

答案2

在 CentOS 6 上,bash-completion 位于 EPEL 存储库中。你要么忘记了添加 EPEL或者您的清单在添加 EPEL 存储库之前尝试安装 bash-completion。

它位于 CentOS 7 的基础存储库中。

哦,你的文件所有权和权限是错误的,但你可能已经知道了......

相关内容