Назад | Перейти на главную страницу

Рецепт от шеф-повара по установке Varnish 3.0 на ubuntu lucid?

Вот моя проблема. Я хочу 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

И действительно, это добавляет varnish-3.0-source.list в /etc/apt/sources.list.d, в котором говорится:

# 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.

Если я укажу «версию» в блоке пакета, я получаю «версия не найдена».

Что мне здесь не хватает? Это должно быть что-то простое.

Моей самой большой проблемой была старая версия удачной кулинарной книги. Даже в этом случае названия дистрибутивов 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 первый запуск chef-client завершается ошибкой при попытке работать с диалоговыми окнами обновленного файла конфигурации apt. В моем случае второй шеф-клиент выполняет чистку и правильно.

Я думаю, что метод, на который ответил OP, является правильным.

Однако, если по той или иной причине это неприемлемо, вы могли бы также создать свой собственный пакет .deb из исходного кода.

Лично я вместо того, чтобы использовать каждый пакетный менеджер в разных вариантах Crazy, я использую FPM Джордана Сисселя. FPM упрощает создание различных вариантов пакетов, а документация проведет вас по конкретным примерам, таким как Вариант использования - упакуйте что-нибудь, что использует make install.

(Личное примечание: это было отличное использование для Бродяга.)