我正在尝试在我的 Vagrant 机器上获得对 augeas 的支持。
我尝试使用这些指令安装一些包:
package { "augeas-tools": ensure => installed }
package { "libaugeas-dev": ensure => installed }
package { "libaugeas-ruby": ensure => installed }
当我尝试在 list 上使用 augeas 时,在 vm 启动后我收到此错误:
err: Could not find a suitable provider for augeas
我在 Vagrant 1.0.3 中使用了 precision32 官方盒子。
Vagrant 1.0.3 有 ruby 1.8.7 和 puppet 2.7.14
$ ruby -v
$ ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
$ puppet help
$ Puppet v2.7.14
这是我的小 list php 类,包含在 之后 Apache 类(class), mysql 和其他类分别测试。
除了 augeas 命令之外,所有东西都可以正常工作。
class php {
exec { "apt-update":
command => "/usr/bin/apt-get update",
refreshonly => true;
}
package { "augeas-tools": ensure => installed }
package { "libaugeas-dev": ensure => installed }
package { "libaugeas-ruby": ensure => installed }
package { "php5": ensure => installed }
package { "php5-cli": ensure => installed }
package { "php5-xdebug": ensure => installed }
package { "php5-curl": ensure => installed }
package { "php5-intl": ensure => installed }
package { "php5-imap": ensure => installed }
package { "php5-mcrypt": ensure => installed }
package { "php5-imagick": ensure => installed }
package { "php5-sqlite": ensure => installed }
package { "php5-gd": ensure => installed }
package { "php-apc": ensure => installed }
package {
"libapache2-mod-php5" :
ensure => installed,
require => Package["php5"]
}
augeas { "php-cli":
require => [
Package["php5"],
Package["augeas-tools"],
Package["libaugeas-dev"],
Package["libaugeas-ruby"],
],
context => "/etc/php5/cli/php.ini",
changes => [
"set date.timezone Europe/Rome",
"set short_open_tag Off",
];
}
augeas { "php-apache":
require => [
Package["php5"],
Package["augeas-tools"],
Package["libaugeas-dev"],
Package["libaugeas-ruby"],
],
context => "/etc/php5/apache2/php.ini",
changes => [
"set date.timezone Europe/Rome",
"set short_open_tag Off",
];
}
}
安装软件包后,使用“vagrant ssh”登录vagrant机器,我启动:
vagrant@precise32:~$ ruby -raugeas -e "puts Augeas.open"
#<Augeas:0xb77a3598>
提前致谢!
最佳答案
我将以下内容添加到我的 Vagrantfile 中,它开始工作了。
在声明 puppet provisioner 之前添加以下行,如果在 ubuntu 上:
config.vm.provision :shell, :inline => "sudo apt-get update && sudo apt-get install puppet -y"
这将更新您的 apt 软件包,然后更新最新版本已经修复的 puppet 客户端。
关于puppet - 我的 Vagrant 机器支持 Augeas 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894661/