Apt
在 ubuntu lucid 上安裝清漆 3.0 的廚師食譜?
這是我的問題。我想要 Varnish 3.0,但 Lucid 只有 2.1 包可用。
因此,使用 Chef,我需要製作一個安裝方法,將 varnish-cache.org 儲存庫添加到 apt 源並安裝 varnish-3.0 包。
(我可以選擇從原始碼建構它(對嗎?),但如果這樣做,我將不會獲得 /etc/init.d 腳本(對嗎?))。
所以我正在編寫一個 apt_install.rb 配方,它可能會添加儲存庫:
apt_repository "varnish-3.0" do uri "http://repo.varnish-cache.org/ubuntu/" repo_name "varnish-3.0" distribution "lucid" components ["varnish-3.0"] key "http://repo.varnish-cache.org/debian/GPG-key.txt" deb_src true action :add end
實際上,這在 /etc/apt/sources.list.d 中添加了一個 varnish-3.0-source.list ,它說:
# Created by the Chef apt_repository LWRP deb http://repo.varnish-cache.org/ubuntu/ lucid main
然後我有
package "varnish" do source "http://repo.varnish-cache.org/ubuntu/" action :install end
它繼續在我的伺服器上安裝 2.1 版,而不是 3.0。
如果我在包塊中指定一個“版本”,我會得到“找不到版本”。
我在這裡想念什麼?它一定很簡單。
我最大的問題是 apt 食譜的舊版本。儘管如此,Varnish 發行版的名稱還是有點不尋常。這是我的配置:
apt_repository "varnish-3.0" do uri "http://repo.varnish-cache.org/ubuntu/" repo_name "varnish-3.0" distribution "lucid" components ["varnish-3.0"] key "varnish-cache.org.gpg-key.txt" deb_src true action :add end package "varnish" do source "http://repo.varnish-cache.org/ubuntu/" version "3.0.2-1~1lucid1" options "--force-yes" action :install end
儲存庫密鑰作為說明書文件包含在內。
在現有的 Varnish 2.3 安裝之上執行此配方時,在嘗試處理 apt 的升級配置文件對話框時,第一次 chef-client 執行失敗。在我的例子中,第二個廚師客戶正確地執行清潔。