Я использую Puppet для автоматизации настройки серверов для работы. Единственная проблема заключается в том, что установка конкретной версии программного обеспечения в моем стеке немного сложна, поскольку зависимости иногда не выполняются. Например, я использую Apache 2.2.25, но Ubunu 12.04 в настоящее время базируется на 2.4.
Поскольку я не хотел сразу обновляться, я настроил Puppet для компиляции и установки Apache из исходного кода. Поскольку это обычно занимает некоторое время, мне было интересно, смогу ли я собрать и скомпилировать Apache и продолжать повторно использовать собранную версию?
Какие папки, двоичные файлы, файлы мне нужно скопировать и возможно ли это вообще?
Также приветствуются альтернативы тому, что я пробую.
Стандартный make-файл должен учитывать переменную среды DESTDIR. Так что вы можете установить его перед запуском make install
и установите все файлы в $DESTDIR
дорожка. Обычно я использую его при тестировании программного обеспечения, скомпилированного из исходников.
Для программного обеспечения в производстве лучше создать свой собственный пакет, deb, rpm или что-то еще, что использует ваш дистрибутив.
Лучший способ - создать / загрузить заменяющие пакеты deb, чтобы вы могли откатить / обновить apache в любое время, также вы должны удовлетворить зависимости. Вы можете создать локальный репозиторий и легко управлять обновлениями / переходами на более раннюю версию с помощью марионетки.
Во-первых, вы должны быть абсолютно уверены, что вам нужна более старая версия apache, она может быть небезопасной и вызывать другие проблемы.
Посмотрите, есть ли старая версия в вашем репозитории, и используйте ее с помощью apt-get install apache2 = [version].
Да, вы можете сделать резервную копию скомпилированной версии apache, но я бы не стал предлагать это в качестве подходящего пути.
Наконец, вы можете использовать это: https://github.com/jordansissel/fpm, чтобы создать пакет debian, соответствующий вашей системе. (вам нужен двоичный файл, любые файлы конфигурации, общие для всех серверов, и любые необходимые сценарии)