2012-03-27 27 views
22

下面我的代碼安裝vcider。我正在學習廚師,但沒有看到安裝dpkg的任何內容。我想在腳本中使用版本。下面的代碼工作。使用Chef安裝Debian軟件包的習慣用法是什麼?

script "install_vcider" do 
    interpreter "bash" 
    user "root" 
    cwd "/tmp" 
    code <<-EOH 
    wget https://my.vcider.com/m/downloads/vcider_2.0.1b_amd64.deb 
    dpkg -i vcider__amd64.deb 
    EOH 
end 

即使使用上面的代碼,我可以用#{version}替換2.0.1b嗎? 屬性文件 - >默認的[:vcider] [:版本] 2.0.1b

recipe file - > version = node[:vcider][:version] 

回答

41

的正確的做法是使用內置的資源類型。假設你已經設置了versionarch變量爲正確的:

remote_file "/tmp/vcider_#{version}_#{arch}.deb" do 
    source "https://my.vcider.com/m/downloads/vcider_#{version}_#{arch}.deb" 
    mode 0644 
    checksum "" # PUT THE SHA256 CHECKSUM HERE 
end 

dpkg_package "vcider" do 
    source "/tmp/vcider_#{version}_#{arch}.deb" 
    action :install 
end 
+0

謝謝:)還有....這是正確的我安裝後?服務「vcider-nmd」do 支持:status => true,:restart => true,:reload => true action [:enable,:start] end – Tampa 2012-03-28 00:32:14

+0

@Tampa看起來貌似合理。不過,我現在真的不幸到了一家木偶店,所以我的廚師越來越生鏽。 – 2012-03-28 02:59:48

+0

哦....我不得不刪除需要得到它的工作。 – Tampa 2012-03-28 06:49:30

相關問題