2012-11-28 49 views
1

通常,人們想將Bash腳本轉換爲Chef。但有時(比如,現在)你需要做相反的事情。有沒有一種自動的方法來獲得給定配置的給定主廚食譜的命令列表?將廚師食譜轉換爲一系列Bash命令?

我並不是想要結束廚師烹飪書的全部功能。我想最終得到一組在這個特定環境中重現這種特殊安裝的命令。 (在這種情況下,原因是我需要分離出'sudo'命令並讓他們由其他人運行。我有sudo訪問權限,我可以運行Chef來執行此任務。)

回答

4

我懷疑你可以做到這一點,即使你可以做到,它可能會比實現你在廚師所需要的更多的工作。例如,甚至像創建配置文件一樣簡單的事情在Chef中被實現爲ruby代碼;你需要找出將其轉化爲echo "…" > /etc/whatever.com的方法。這樣做對於全部資源將是一項重大的事業。

在我看來,你應該實際做的是修改任何你用來作爲不同用戶運行命令的主廚食譜。

templatefile這樣的事情很容易:該文件將創建爲root,然後chown - 對正確的用戶。 execute資源(其運行命令)可以被配置成與su運行命令簡單地通過指定用戶:

execute "something" do 
    command "whoami" 
    user "nobody" 
end 

這可能需要一段時間來弄清楚,但一旦你得到了它的竅門這是很容易;比轉換成bash要容易得多。

+0

非常好的一點。我的問題顯然是基於一些非常愚蠢的推理 - 哎呀。 –