我正在使用最新版本的puppet
Apress“Pro Puppet”指南並逐步遵循該指南。我已經安裝了puppet
sudo aptitude install ruby libshadow-ruby1.8
sudo aptitude install puppet puppetmaster facter
我已編輯/etc/puppet/puppet.conf
以包含憑證名稱
[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,它不理解 master 子命令,並嘗試將其作為清單運行。在 0.25 左右,引入了新的指令語法。
仔細檢查您正在運行的版本。目前版本應該是2.7。我經常發現發行版打包舊版本。例如,Ubuntu 10.04LTS 安裝 0.25.4,這是相當古老的。
答案2
若要尋找 puppet 套件的版本,請執行:
sudo apt-cache policy puppet