私は最新バージョンを使用しており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
と、その前のパスが現在の作業ディレクトリであることが表示されます。
何が間違っているのでしょうか?
また、DNS レコードが設定されていないことも言及しておく必要があります。puppet.mydomain.com
オンライン ドキュメントで、これが問題になる可能性があると記載されていましたが、hosts
ファイルを使用すれば回避できると確信していました。
答え1
マスター サブコマンドを理解できず、代わりにマニフェストとして実行しようとする古いバージョンの Puppet を使用しているようです。0.25 あたりで新しいコマンド構文が導入されました。
実行しているバージョンを再確認してください。現在のバージョンは 2.7 のはずです。ディストリビューションによっては古いバージョンがパッケージ化されていることがよくあります。たとえば、Ubuntu 10.04LTS では 0.25.4 がインストールされますが、これはかなり古いバージョンです。
答え2
puppet パッケージのバージョンを確認するには、次のコマンドを実行します。
sudo apt-cache policy puppet