Переупаковка коммерческого программного обеспечения в пакеты RPM

Ситуация такова - у меня есть небольшой "кластер" CentOS 5 (в настоящее время 7 машин, но потенциал для большего), который запускает коммерчески доступный программный пакет, который распространяется в основном в формате tarball (на самом деле это zip-файл со смесью Windows/Linux) двоичные файлы и сценарий оболочки установки без возможности автоматизации).

Я хотел бы каким-то образом упаковать это в RPM-пакет (в идеале, который я могу добавить в самодостаточный репозиторий yum), чтобы эти "кластерные" машины были как современными, так и согласованными. Я мог бы сделать 7 ручных установок, но есть вероятность ошибки. Насколько я понимаю, мне нужно будет выполнить следующие задачи:

  • добавить непривилегированного пользователя в целевую систему для запуска демона без лишних привилегий root
  • Упакуйте сами двоичные файлы из окончательного места установки на отдельном компьютере для сборки (вероятно, в / opt / package для здравомыслия). Источник недоступен.
  • добавить дыру в брандмауэре, чтобы конечные пользователи могли общаться с узлами "кластера"
  • добавить задачу cron, которая может запустить демон на @reboot

До сих пор у меня было много хороших упаковочных ресурсов, но все они основаны на традиционном методе (то есть, если бы я был поставщиком, упаковывающим мои исходные файлы), а не переупаковывали тонну двоичных файлов из уже установленный экземпляр приложения, который является единственной доступной мне опцией. У кого-нибудь есть хорошие ресурсы, которыми они могут поделиться для достижения этой цели? Спасибо!

1 ответ

Решение

Просто пропустите %build в файле спецификации RPM и скопируйте двоичные файлы поставщика в их правильные местоположения в корне сборки в %install этап. Добавьте свои рабочие места cron и пользователей в %post и удалите их в %preun (если это не обновление, документы, которые вы уже прочитали, должны охватывать этот случай).

Другие вопросы по тегам