Linux之Mock使用方法
在进行编包的时候大多数人会使用rpmbuild命令在本机进行编译,这样可以使一些依赖及本地相关包的修改可以生效,但在开发过程中必须模拟用户的环境或是构建一个“干净的”环境(既没有任何其他依赖的改动,直接从yum下载构建一个纯用户环境),这样我们就需要mock命令来构建这样一个编译的纯环境来进行编译软件包。
1,安装mock
mock的安装方法比较简单,请参照这篇文章即可。安装完成以后,系统会自动多出一个名为mock的组。
2,mock使用方法
mock编译过程不要用root身份,先建立一个普通的用户,然后把用户加入mock组。
[root@test ~]# useradd mockbuilder
[root@test ~]# usermod -a -G mock mockbuilder
[root@test ~]# su - mockbuilder
注意:如果强行使用root身份执行mock命令,python将会抛出“RuntimeError: mock will not run from the root account”的错误。
使用内置的mock配置文件来进行编译
mock 的配置文件在/etc/mock/目录下,系统默认内置了fedora、epel-5、epel-6等系统的配置文件,通过查看这些.cfg的配置文件,可以了解到Mock的原理,即软件使用yum来下载一个最小化的系统,并放入chroot环境中。
下面以编译fedora 15 64位系统的软件包来举例(对应的配置文件为fedora-15-x86_64.cfg) (more…)
Read More