rpm与src.rpm区别及安装
https://www.iteye.com/blog/ontheroad-luckhouge-1124215
https://www.it610.com/article/1290951704820391936.htm
参考:
https://blog.csdn.net/taoxicun/category_11039198.html
https://www.cnblogs.com/fluidog/p/15176393.html
https://www.cnblogs.com/fluidog/p/15176408.html
rpmbuild
rpmbuild 中文手册 http://www.jinbuguo.com/pkgmanager/redhat/rpmbuild.html
Linux下rpmbuild命令的使用 https://blog.csdn.net/qq_42303254/article/details/89035054/
使用mock制作rpm包
××××××××××××××××××××××RPM包的制作××××××××××××××××××××××××××××××××××××
方法一:使用rpmbuild工具
1、在用户home或ROOT目录下建立rpmbuild目录
2、在~/rpmbuild目录下建立SOURCES和SPECS目录
3、将基线tar包和patch拷贝到SOURCE目录,将.spec文件拷贝到SPECS目录
4、产生rpm包
cd rpmbuild
rpmbuild -bp SPECS/ltrace.spec //只作准备,解压与打补丁
rpmbuild -bs SPECS/ltrace.spec //产生.src.rpm
rpmbuild -bb SPECS/ltrace.spec //产生.rpm
更多rpm命令参考:https://blog.csdn.net/liaowenxiong/article/details/117824932
方法二:mock的使用
1、安装,执行命令:
yum install -y mock
yum install -y rpm-build
2、将用户加入 mock 组
sudo usermod -a -G mock $(whoami)
3、查看版本
mock --version
4、 清理(第一次不需要,可以跳过次步骤,之后每一次构建之前都应执行)
sudo mock -r loongnix-8-loongarch64 --clean
sudo rm -rf /var/cache/mock/*
5、初始化mock环境
我们首先需要初始化mock环境,在/etc/mock目录下有各个环境的配置文件,比如loongarch 64位架构的就是 loongnix-8-loongarch64.cfg 。
我们如果想要制作适用在loongarch 64位架构的RPM包,其初始化mock环境的命令就是:
sudo mock -r loongnix-8-loongarch64 --init --rootdir=${pwd}
默认会在 /var/lib/mock/loongnix-8-loongarch64-bootstrap 目录下会生成 result 以及 root 目录。
有时根目录空间不够,导致无法进行mock编译。需要手动指定root目录所在位置(这里指定在当前目录)。
6. 使用 SPEC 文件,从源码包构建出 src.rpm
mock -r loongnix-8-loongarch64 rebuild --buildsrpm --spec *.spec --sources ${SOURCE} --resultdir ${resultdir}
说明:
--spec: 指定 SPEC 文件
--sources: 指定源码以及补丁的位置
--resultdir:指定 rpm 文件的生成目录
eg:
示例说明:
以kexec-tools工具为例,
1. kexec-tools.spec: 先在社区中找到对应的spec文件,该spec文件不一定适用于本系统,需要根据实际情况进行一定的修改。
2. kexec-tools-2.0.22.tar.gz: kexec-tools工具的源码压缩包,该工具为2.0.22版本,所以源码目录命名为kexec-tools-2.0.22,然后压缩为kexec-tools-2.0.22.tar.gz。
3. 创建一个目录存放指定的*.src.rpm等文件。
mock -r loongnix-8-loongarch64 rebuild --buildsrpm --spec ../src_tar/kexec-tools/kexec-tools.spec --sources ../src_tar/kexec-tools/kexec-tools-2.0.22.tar.gz --resultdir kexec-tools/
执行完该命令之后,会在--resultdir参数指定的目录下生成对应的*.src.rpm包。
方法三:二者结合,特殊情况下使用:
cp strace/* /root/rpmbuild/SOURCES/
rpmbuild -bs strace/strace.spec //生成*.src.rpm
mock -r loongnix-8-loongarch64 rebuild
/root/rpmbuild/SRPMS/strace-5.13-5.lns8.src.rpm --resultdir=strace-result/ //通过*.src.rpm生成.rpm
rpm包的安装:
1 #rpm -i example.rpm 安装 example.rpm 包;
2 #rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
3 #rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度
rpm -ivh your_package_name
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××