2012-11-12 141 views
4

我正在做一個簡單的配方,apt-get升級整個系統。食譜不在廚師執行

include_recipe "apt" 

execute "apt-get upgrade -y" do 
     command "apt-get upgrade -y" 
     action :nothing 
end 

,但它從來沒有得到執行:

chef-solo -j node.json -W 

Recipe: up2date::default 
    * execute[apt-get upgrade -y] action nothing[2012-11-12T13:05:04+01:00] 
    INFO: Processing execute[apt-get upgrade -y] 
    action nothing (up2date::default line 12) (up to date) 

不明白爲什麼?

有更好的/更清潔的方式嗎?

回答

3

如果您包含「apt」配方,則不必創建執行[apt-get upgrade -y]資源。或者,如果你不想包括「易」的配方,然後使用

execute "apt-get upgrade -y" do 
    command "apt-get upgrade -y" 
    action :run 
end 

但由於運行是默認的動作,並將其命名爲默認命令,可以縮短到

execute "apt-get upgrade -y" 
+0

感謝;只需執行「apt-get upgrade -y」而不用「do」塊? – Disco

+1

是的。沒有阻止。 –

+0

您是否在說「apt」配方會自動運行apt-get升級?因爲它似乎不適合我。 –