如何修復木偶拒絕啟動並請求“master.pp”的問題?

如何修復木偶拒絕啟動並請求“master.pp”的問題?

我正在使用最新版本的puppetApress“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

答案3

馬丁正確的。你的puppet版本肯定早於2.6。您執行的是舊版本的 Ubuntu 或 Debian 嗎? Squeeze 已經包含 2.6,Ubuntu 11 包含 2.7。如果您使用 Lenny,則可以在向後移植上找到較新版本的 Puppet。而且,如果這些都沒有幫助,我認為 puppetlabs 有一個用於更新 puppet 版本的儲存庫,儘管它可能會給您帶來 ruby​​ 版本的一些麻煩。

相關內容