Linux系统下mock构建RPM包命令详解

Linux系统下mock构建RPM包命令详解

简介

mock最常用的方式就是打RPM包,下面用实例去解析编译源码包的命令操作过程。

命令操作

1、初始化mock环境

[mockbuild@localhost ~]$ mock -r neokylin-11-x86_64  --init

2、下载安装vim编辑器

[mockbuild@localhost ~]$ mock -r neokylin-11-x86_64 install vim

3、将宿主机上的文件拷贝到mock环境中

[mockbuild@localhost ~]$mock -r neokylin-11-x86_64 --copyin xxx.src.rpm /

4、搭建源码包的编译环境

[mockbuild@localhost ~]$ mock -r neokylin-11-x86_64 installdeps xxxx.src.rpm

5、将mock环境中的文件xxx.rpm拷贝到宿主机/目录下

[mockbuild@localhost ~]$mock -r neokylin-11-x86_64 --copyout /xxx.rpm   /

6、mock环境的路径(可直接chroot到该目录进行操作)

[mockbuild@localhost ~]$ cd  /var/lib/mock/neokylin-23-x86_64/root/
[mockbuild@localhost root]$ ls
bin   builddir  etc   lib    media  opt   root  sbin  sys  usr
boot  dev       home  lib64  mnt    proc  run   srv   tmp  var

7、进入mock环境

[mockbuild@localhost ~]$ mock -r neokylin-11-x86_64 shell

8、解压源码包

<mock-chroot>sh-4.3# rpm -ivh anaconda-21.48.22.93-1.ns7.01.51.jk.src.rpm

9、编译源码包

sh-4.3# cd builddir/build/
<mock-chroot>sh-4.3# rpmbuild  -ba SPECS/anaconda.spec 
编译好之后二进制包和源码包分别在/builddir/build/RPMS/和/builddir/build/SRPMS/下根据需要进行下载。

注意

使用mock -r neokylin-11-x86_64 --init初始化mock环境后,如果依然使用搭建的环境在编译其他包的时候不需要再初始化,防止环境重复搭建。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值