如何修复 Tomcat 清单的 Augeas 依赖项?

How to fix Augeas dependency for Tomcat manifest?

我有以下 puppet 清单,假设要在端口 8983 上安装和 运行 Tomcat:

# tomcat.pp
package { [ "tomcat7", "tomcat7-admin" ]: ensure => present }
package { [ "augeas-tools", "libaugeas-dev", "libaugeas-ruby" ]: ensure => installed }

class { 'java': }
class { 'tomcat': install_from_source => false }

tomcat::config::server { 'tomcat7':
  catalina_base => '/etc/tomcat7/Catalina',
  port          => '8983',
  require => [ Package["libaugeas-ruby"] ]
}->
tomcat::service { 'default':
  use_jsvc     => false,
  use_init     => true,
  service_name => 'tomcat7',
}

我已经安装了所有依赖项,例如:

sudo apt-get install puppet augeas-tools libaugeas-dev libaugeas-ruby
sudo puppet module install puppetlabs/tomcat

这是我的 puppet 和 augeas 包:

$ puppet --version
2.7.23

$ dpkg -l | grep augeas
ii  augeas-lenses                       0.10.0-1 
ii  augeas-tools                        0.10.0-1 
ii  libaugeas-dev                       0.10.0-1 
ii  libaugeas-ruby                      0.4.1-1.1
ii  libaugeas-ruby1.8                   0.4.1-1.1
ii  libaugeas-ruby1.9.1                 0.4.1-1.1
ii  libaugeas0                          0.10.0-1 

但是当我 运行 我的清单时,它说我没有安装 Augeas:

$ sudo puppet apply -v tomcat-test.pp 
Server configurations require Augeas >= 1.0.0 at /etc/puppet/modules/tomcat/manifests/config/server.pp:28 on node debian-wheezy

我已阅读 Using Puppet with Augeas 并且 augtool 工具工作正常。

如何修复损坏的依赖项?或者我需要重新启动什么吗?

此清单要求 Augeas >= 1.0.0,而您有 0.10.0。

您需要升级您的 Augeas 包才能使用它。

如果您在 Ubuntu,请参阅 the Augeas PPA

在 Debian 上,您可以查看 Camptocamp's repository

Debian/Ubuntu

根据的建议,我添加了如下的 Camptocamp 包存储库:

$ echo 'deb     http://pkg.camptocamp.net/apt wheezy/stable sysadmin' | sudo tee -a /etc/apt/sources.list
$ curl -s http://pkg.camptocamp.net/packages-c2c-key.gpg | sudo apt-key add -
OK
$ sudo apt-get update
$ sudo apt-cache madison "augeas*" | grep camptocamp
libaugeas-ruby1.8 | 0.5.0-0c2c1 | http://pkg.camptocamp.net/apt/ wheezy/stable/sysadmin amd64 Packages
augeas-tools | 1.3.0-0+c2c1 | http://pkg.camptocamp.net/apt/ wheezy/stable/sysadmin amd64 Packages

并通过 apt 安装:

$ sudo apt-get install augeas-tools=1.\* augeas-lenses=1.\* augeas-doc=1.\* libaugeas0=1.\*
$ dpkg -l '*augeas*'
ii augeas-tools  1.3.0-0+c2c1
ii libaugeas0  1.3.0-0+c2c1

现在可以使用了。