在我担任 SysAdmin 期间,我遇到过不提供 rpm 包来安装在基于 redhat 的发行版上的应用程序 - 仅提供源 tarball。源 tarball 不提供可以简化 rpm 包创建过程的规范文件。相反,源 tarball 仅提供 bash/ksh/ 脚本,必须以 root 身份执行才能在系统上安装应用程序。
我试图创建一个 rpm 包,它基本上运行安装脚本来执行安装脚本。我还尝试通过尝试以非 root 用户身份 rpmbuild 软件包并尽我所能修改安装脚本以确保脚本的安装目录引用 rpm 环境/宏来做正确的事情。但是对于一个几百行长的复杂安装脚本,它还调用了其他脚本......好吧,我注定要失败。
有没有更好的方法来打包这种 .spec-less 源 tarball?更好的解决方案是:
- 在应用程序安装之前以某种方式拍摄系统快照
- 使用提供的安装脚本安装源 tarball
- 安装后对系统进行快照,并确定安装所做的更改/添加
- 将更改/添加列表放入规范文件中,并以这种方式创建 rpm 包?
对此问题的任何有用/相关/指导性/有趣/深刻的输入和建议将不胜感激。
先感谢您