2013-07-18 2 views
0

Я скомпилировал php5 из исходного кода (для Ubuntu), чтобы я мог работать с pthreads, и теперь мне нужно скопировать эту установку на другие виртуальные машины. Я скомпилировал его с почти одинаковыми параметрами, которые появляются по умолчанию при установке официального пакета репо, и сначала установите пакет для разрешения любых зависимостей. Все они основаны на одном и том же изображении, поэтому мне не нужно беспокоиться об изменениях архитектуры или чего-то еще. Я автоматизирую установку с шеф-поваром opscode. Параметры я угадывание доступны вКак я могу упаковать программу, скомпилированную из исходного кода, чтобы легко установить на аналогичные машины

  1. Zip скомпилирован исходной папки с рабочей машины, распаковать его на цель, и make install его
  2. Пакет это как-то .deb, скопировать .deb к цели машины и установки
  3. пакет это как .deb каким-то образом, создать хранилище одной версии/одного пакета на сервере повара, изменять меткие источники целевого объекта, и установить PHP с склонный
  4. Другое

Возможны ли варианты 2 и 3? Сложно? Если это возможно и относительно легко, как это делается? Есть ли еще один хороший вариант?

Все исследования, которые я нашел, касаются более сложных случаев, беспокоясь о том, как поддерживать пакеты, разные архитектуры и публиковать репозиторий. Мне нужно только работать внутри.


Edit: Checkinstall работает на данный момент, хотя это не является идеальным, так как я должен вручную установить зависимости перед использованием dpkg -i. Если есть лучший способ, дайте мне знать

+0

Если вы хотите упаковать сложную программную систему, такую ​​как php5 (с более поздними версиями модулей), лучше всего посмотрите на официальные пакеты. Когда вы разбираетесь в файлах в/debian, вы можете заменить источники из официального пакета своими и легче выполнять работу. Для начала работы с упаковкой существует руководство по упаковке Ubuntu. Для варианта 3) вы, вероятно, захотите использовать какой-либо инструмент для настройки репозитория, так как получение метафайла с dpkg-scanpackages и co немного запутанно. – TeTeT

+0

Да, checkinstall не имеет зависимостей. Вы можете предоставить им создание фальшивого пакета с equivs. – Tiago

ответ

Смежные вопросы