SRPM 的使用:rpmbuild

本文详细解释了SRPM与RPM的区别,包括档案命名方式、是否可修改参数及编译状态等,并介绍了如何使用rpmbuild命令对SRPM进行解包、修改内容以及重新打包回SRPM或RPM的过程。通过实例展示了参数--rebuild、--recompilerebuild和--rebuild的作用,以及如何在不安装到系统的情况下仅进行编译打包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、与RPM区别:
档案格式 档名格式    直接安装与否 内含程式类型 可否修改参数并编译
RPM         xxx.rpm         可         已编译           不可
SRPM        xxx.src.rpm    不可       未编译之原始码     可

SRPM可理解为RPM的前期,它最终要变成RPM的,主要是因为它是原码,故可以跨版本。新版的 rpm 已经将 RPM 与 SRPM 的指令分开了,SRPM 使用的是 rpmbuild 这个指令,而不是 rpm。

2、参数:
--rebuild 进行‘编译’与‘打包’的动作,最后会产生 RPM 的档案,但是产生的 RPM 档案并没有安装到系统上。最后通常会发现一行字体:Wrote: /usr/src/redhat/RPMS/i386/pkgname.i386.rpm
--recompile rebuild 仅‘编译并打包’而已,而 recompile 不但进行编译跟打包,还同时进行‘安装’了!

如:[root@www ~]# rpmbuild --rebuild rp-pppoe-3.5-32.1.src.rpm

3、SRPM--如何解开,修改后再打包回SRPM
rpm -i rp-pppoe-3.5-32.1.src.rpm # 过程不会显示任何东西,他只会将 SRPM 的档案解开后,放置到 /usr/src/redhat/

find /usr/src/redhat/ -type f  #找文件,以程序名加.spec后缀的就是打包成SRPM的配置文件

改里面的信息后,重打包:
[root@www ~]# rpmbuild -ba rp-pppoe.spec  <==编译并同时产生 RPM 与 SRPM 档案
[root@www ~]# rpmbuild -bb rp-pppoe.spec  <==仅编译成 RPM 档案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值