我怎样才能解决木偶拒绝开始,并要求“master.pp”?

我正在使用最新版本的puppet ,一直在逐步跟随Apress“Pro Puppet”指南。 我已经安装了puppet

 sudo aptitude install ruby libshadow-ruby1.8 sudo aptitude install puppet puppetmaster facter 

我编辑了/etc/puppet/puppet.conf来包含certname

 [master] certname=puppet.mydomain.com 

我编辑了/ etc / hosts并添加了以下行

 127.0.0.1 puppet.mydomain.com puppet 

我已经设置了服务器的主机名

 echo "puppet.mydomain.com" > /etc/hostname hostname -F /etc/hostname 

然后我尝试从命令行运行puppet

 puppet master --verbose --no-daemonize 

puppet给我这个错误:

 Could not parse for environment production: Could not find file /master.pp 

我正在用sudo运行所有的命令,错误信息的最后一行总是说找不到master.pp以及它到达我当前工作目录前的path。

我究竟做错了什么?

我还应该提到,我没有为puppet.mydomain.com设置DNSlogging – 我看到一些提及这个问题的在线文档可能是一个问题 – 但是我确信hosts文件能让我解决这个问题。

它几乎看起来像你使用旧版本的Puppet,它不理解主子命令,并试图运行它作为一个清单,而不是。 大约0.25的地方引入了新的命令语法。

仔细检查您正在运行的版本。 目前的版本应该是2.7。 我经常发现distros打包旧版本。 例如,Ubuntu 10.04LTS安装了0.25.4,这很古老。

要找出puppet包的版本,运行:

 sudo apt-cache policy puppet 

Martijn是对的 。 你的傀儡版本肯定比2.6大。 你运行的是Ubuntu还是Debian的旧版本? 挤压已经包括2.6和Ubuntu 11包括2.7。 如果你在Lenny上,你可以在backports上find更新版本的Puppet。 而且,如果没有任何帮助,我认为puppetlabs有一个较新的木偶版本的存储库,尽pipe它可能会给你一些ruby版本的麻烦。