文章目录
linux rpm编译中mock虚拟系统用法:
mock -r xxx.cfg --uniqueext=设置名 clean
mock -r xxx.cfg --uniqueext=设置名 init
为mock chroot系统写入dist宏参数:
mock ${ARCH_SET} -r xxx.cfg --uniqueext=设置名 --no-clean chroot "echo %dist .al8_9} >> /etc/rpm/macros.disttag"
给mock虚拟环境安装rpm包(不清理chroot环境)
mock ${ARCH_SET} -r xxx.cfg --uniqueext=设置名 --no-clean install xxxx.86_64.rpm
进入mock chroot环境shell命令行交互界面:
sudo mock --configdir=. -r ./xxx.cfg --uniqueext=设置名 --no-clean shell
或者
sudo mock -r xxx.cfg --shell --no-clean
if [ "X$INSTALL_CHECK" == "Xyes" ];then
mock ${ARCH_SET} -r xxx.cfg --uniqueext=设置名 --installdeps --rebuild ${SRCRPM} --no-clean
else
mock ${ARCH_SET} --nocheck -r xxx.cfg --uniqueext=设置名 --rebuild ${SRCRPM} --no-clean
fi
mock环境打srpm包:
mock -r xxx.cfg --rebuild xxx.src.rpm
或者
mock -r xxx.cfg xxx.src.rpm
mock 环境打srpm包(自定义result)
rpm文件会存放在/var/lib/mock/epel-6-x86_64/result目录下。当然我们可以通过–resultdir参数来指定rpm文件的生成目录
mock -r epel-6-x86_64.cfg rebuild package-1.1-1.src.rpm --resultdir=/home/builder/rpms
【参数】
--installdeps
Find out deps for SRPM or RPM, and do a yum install to put them in the chroot. No 'clean' is performed
为mock chroot虚拟环境 “临时添加repo”:
sudo mock -r xxx.cfg --addrepo=http://11.16.19.65/python36/ --chroot "yum repolist"
输出如下信息:
INFO: mock.py version 2.8 starting (python version = 3.6.8, NVR = mock-2.8-1.el8)...
Start(bootstrap): init plugins
INFO: selinux disabled
Finish(bootstrap): init plugins
Start: init plugins
INFO: selinux disabled
Finish: init plugins
INFO: Signal handler active
Start: run
Start(bootstrap): chroot init
INFO: calling preinit hooks
INFO: enabled HW Info plugin
Mock Version: 2.8
INFO: Mock Version: 2.8
Finish(bootstrap): chroot init
Start: chroot init
INFO: calling preinit hooks
INFO: enabled HW Info plugin
Mock Version: 2.8
INFO: Mock Version: 2.8
Finish: chroot init
INFO: Running in chroot: ['yum repolist']
Start: chroot ['yum repolist']
repo id repo name
1116716963_python36_ http://11.16.19.65/python36/ #临时新增的repo
build build #mock cfg默认原来的repo
Finish: chroot ['yum repolist']
给mock chroot系统内安装编译srpm所需的installdep环境:
sudo mock -r xxx.cfg installdeps xxxx.src.rpm
sudo mock -r cfg_files/linux-build.cfg -i /home/user/pkg/java11/*.rpm --resultdir java11_res