Я скомпилировал php5 из исходного кода (для Ubuntu), чтобы я мог работать с pthreads, и теперь мне нужно скопировать эту установку на другие виртуальные машины. Я скомпилировал его с почти одинаковыми параметрами, которые появляются по умолчанию при установке официального пакета репо, и сначала установите пакет для разрешения любых зависимостей. Все они основаны на одном и том же изображении, поэтому мне не нужно беспокоиться об изменениях архитектуры или чего-то еще. Я автоматизирую установку с шеф-поваром opscode. Параметры я угадывание доступны вКак я могу упаковать программу, скомпилированную из исходного кода, чтобы легко установить на аналогичные машины
- Zip скомпилирован исходной папки с рабочей машины, распаковать его на цель, и
make install
его - Пакет это как-то .deb, скопировать .deb к цели машины и установки
- пакет это как .deb каким-то образом, создать хранилище одной версии/одного пакета на сервере повара, изменять меткие источники целевого объекта, и установить PHP с склонный
- Другое
Возможны ли варианты 2 и 3? Сложно? Если это возможно и относительно легко, как это делается? Есть ли еще один хороший вариант?
Все исследования, которые я нашел, касаются более сложных случаев, беспокоясь о том, как поддерживать пакеты, разные архитектуры и публиковать репозиторий. Мне нужно только работать внутри.
Edit: Checkinstall работает на данный момент, хотя это не является идеальным, так как я должен вручную установить зависимости перед использованием dpkg -i
. Если есть лучший способ, дайте мне знать
Если вы хотите упаковать сложную программную систему, такую как php5 (с более поздними версиями модулей), лучше всего посмотрите на официальные пакеты. Когда вы разбираетесь в файлах в/debian, вы можете заменить источники из официального пакета своими и легче выполнять работу. Для начала работы с упаковкой существует руководство по упаковке Ubuntu. Для варианта 3) вы, вероятно, захотите использовать какой-либо инструмент для настройки репозитория, так как получение метафайла с dpkg-scanpackages и co немного запутанно. – TeTeT
Да, checkinstall не имеет зависимостей. Вы можете предоставить им создание фальшивого пакета с equivs. – Tiago