我正在尝试使用 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 的基础存储库中。
哦,你的文件所有权和权限是错误的,但你可能已经知道了......