我有以下木偶清单,假设在端口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
这是我的木偶和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
然而,当我运行我的清单时,它说我没有安装Augas:
$ 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
我已经读过使用Augas和augtool
工具的Puppet正确工作。
我该如何修复破碎的依赖关系?或者我需要重新启动任何东西吗?
此清单要求Augas>=1.0.0,而您有0.10.0。
您需要升级您的Augas软件包才能使用此软件包。
如果你在Ubuntu上,请参阅Augas PPA
在Debian上,您可以查看Camptocamp的存储库。
Debian/Ubuuntu
基于ℝaphink建议,我添加了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
现在它起作用了。