linux – RedHat:是否可以在一种模拟环境中安装软件包来构建RPM

前端之家收集整理的这篇文章主要介绍了linux – RedHat:是否可以在一种模拟环境中安装软件包来构建RPM前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有工具允许将RPM .spec的依赖安装到隔离环境中?我不会在系统上全局安装这样的依赖项,因为我没有root权限,所以我无法这样做.

原因

我想构建一个包A,它取决于较新版本的B(不能在系统上全局安装).

我喜欢构建更新版本的B并让构建工具将B安装到一个隔离的环境中,以便为构建A提供所有必需的文件.

解决方

>有没有工具可以做到这一点?
>如果没有,那么在尝试使用chroot时应该怎样处理?
>这会是一种不好的做法吗?

解决方法

是的,该工具名为 mock,它位于EPEL中.

典型用法

rpmbuild -bs mypackage.spec
mock -r epel-6-x86_64 mypackage-0.1-1.src.rpm

这实际上是构建RPM的首选方法,正是因为它将进程与系统隔离开来,因此不会引入意外的依赖关系.

您可以修改/ etc / mock中的文件以使其包含您自己的包,私有仓库等,或者检查文档以获取有关如何手动将包添加到模拟chroot环境的信息.

请注意,应将用户添加到模拟组以允许使用mock.

并非巧合的是,Red Hat使用的kooji构建服务器模拟构建每个单独的包.如果你必须一直构建很多软件包,那么可能需要考虑设置一个koji构建服务器.

猜你在找的Linux相关文章