加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:17:30 所属栏目:Linux 来源:网络整理
导读:是否有工具允许将RPM .spec的依赖安装到隔离环境中?我不会在系统上全局安装这样的依赖项,因为我没有root权限,所以我无法这样做. 原因 我想构建一个包A,它取决于较新版本的B(不能在系统上全局安装). 我喜欢构建更新版本的B并让构建工具将B安装到一个隔离的环
是否有工具允许将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构建服务器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读