Переупаковка коммерческого программного обеспечения в пакеты RPM
Ситуация такова - у меня есть небольшой "кластер" CentOS 5 (в настоящее время 7 машин, но потенциал для большего), который запускает коммерчески доступный программный пакет, который распространяется в основном в формате tarball (на самом деле это zip-файл со смесью Windows/Linux) двоичные файлы и сценарий оболочки установки без возможности автоматизации).
Я хотел бы каким-то образом упаковать это в RPM-пакет (в идеале, который я могу добавить в самодостаточный репозиторий yum), чтобы эти "кластерные" машины были как современными, так и согласованными. Я мог бы сделать 7 ручных установок, но есть вероятность ошибки. Насколько я понимаю, мне нужно будет выполнить следующие задачи:
- добавить непривилегированного пользователя в целевую систему для запуска демона без лишних привилегий root
- Упакуйте сами двоичные файлы из окончательного места установки на отдельном компьютере для сборки (вероятно, в / opt / package для здравомыслия). Источник недоступен.
- добавить дыру в брандмауэре, чтобы конечные пользователи могли общаться с узлами "кластера"
- добавить задачу cron, которая может запустить демон на @reboot
До сих пор у меня было много хороших упаковочных ресурсов, но все они основаны на традиционном методе (то есть, если бы я был поставщиком, упаковывающим мои исходные файлы), а не переупаковывали тонну двоичных файлов из уже установленный экземпляр приложения, который является единственной доступной мне опцией. У кого-нибудь есть хорошие ресурсы, которыми они могут поделиться для достижения этой цели? Спасибо!
1 ответ
Просто пропустите %build
в файле спецификации RPM и скопируйте двоичные файлы поставщика в их правильные местоположения в корне сборки в %install
этап. Добавьте свои рабочие места cron и пользователей в %post
и удалите их в %preun
(если это не обновление, документы, которые вы уже прочитали, должны охватывать этот случай).