将商业软件重新打包成 RPM 包

将商业软件重新打包成 RPM 包

情况是这样的 - 我有一个小型的 CentOS 5“集群”(目前有 7 台机器,但可能更多),它运行一个商业上可用的软件包,该软件包基本上以 tarball 格式分发(它实际上是一个 zip 文件,混合了 Windows/Linux 二进制文件和安装 shell 脚本,没有自动化的潜力)。

我想以某种方式将其重新打包成 RPM 包(理想情况下,我可以将其放到自托管的 yum 存储库中),以便让这些“集群”机器保持最新和一致。我可以进行 7 次手动安装,但可能会出错。据我了解,我需要完成以下任务:

  • 将非特权用户添加到目标系统以运行守护程序,而无需不必要的 root 权限
  • 将二进制文件本身从最终安装位置打包到单独的构建机器上(出于理智考虑,可能位于 /opt/package 下)。没有可用的源。
  • 添加防火墙漏洞,以便最终用户能够与“集群”节点进行通信
  • 添加一个 cron 任务,可以在 @reboot 上启动守护进程

到目前为止,我想到了很多不错的打包资源,但都是基于传统方法(即,如果我是打包源文件的供应商),而不是从已安装的应用程序实例中重新打包大量二进制文件,而这对我来说是唯一可用的选项。有人有实现此目标的优秀资源可以分享吗?谢谢!

答案1

只需跳过%buildRPM 规范文件中的阶段,然后将供应商的二进制文件复制到该阶段 buildroot 中的正确位置%install。添加您的 cron 作业和用户%post并将其删除%preun(如果这不是升级;您已经阅读的文档应该涵盖这种情况)。

相关内容