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构建服务器.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...