0

我们正在切换到使用 puppet 来对基于 Linux 的系统进行配置管理。我们有几个包含自定义二进制安装程序(想想 JDK)的第三方包,并且正在使用 RPM 将它们构建到仅限本地的非分布式包中。一个麻烦的包有一个安装过程,它需要以下内容:a)将二进制包解压到安装目录 X。b)运行“安装程序”,提示接受许可证,然后将安装目录路径修改/嵌入到安装目录中的许多后续脚本中.

我在定义一个规范文件来安装这个包时遇到问题。对于初学者,在 %install 中我处理步骤 a,然后从步骤 b 运行安装程序。这会按预期将包安装到 $RPM_BUILD_ROOT 中。然而,包脚本都嵌入了 $RPM_BUILD_ROOT/ 而不仅仅是破坏了嵌入安装目录的脚本。有没有办法像在 chroot 环境或其他替代环境中一样运行此安装程序?任何帮助表示赞赏。

4

1 回答 1

1

在 Fedora 下(我怀疑还有 RHEL/CentOS)有一个模拟你描述的任务类型。它用于构建包,但“填充 chroot”部分应该很容易(误用)来创建您需要的环境。

于 2013-02-26T20:31:48.763 回答