6

Для установки моего сервера мне нужно wget и скомпилировать исходный пакет (geos, GeoIP и pyinding). Существует ли предопределенный класс puppet для получения исходных кодов пакетов и их компиляции?

2 ответа2

9

Посмотри на:

https://github.com/example42/puppi/blob/master/manifests/netinstall.pp

Пример использования:

netinstall { 'postgis':
  url => 'http://postgis.refractions.net/download/postgis-1.5.5.tar.gz',
  extracted_dir => 'postgis-1.5.5',
  destination_dir => '/tmp',
  postextract_command => '/tmp/postgis-1.5.5/configure && make && sudo make install'
}
2

Кажется, что puppet - не самый лучший инструмент для компиляции исходных пакетов на целевых системах. Наилучшим подходом, вероятно, является предоставление пакета deb или того, что ожидает ваша целевая система, и установка пакета с помощью puppet.

Проблема компиляции программного обеспечения с помощью puppet заключается в том, что вам нужно запустить несколько команд exec {} с помощью puppet. Каждый раз, когда вы должны выяснить, должен ли исполняться exec или нет, основываясь на некоторых фактах в вашей системе (файлы присутствуют, сервисы присутствуют или нет и т.д.). Это довольно утомительно и подвержено ошибкам при компиляции исходного кода, поскольку результаты промежуточных шагов могут больше не отображаться. Таким образом, трудно определить достоверные факты для компиляции и установки исходного кода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .