SRPM 的使用:rpmbuild

来源:互联网 发布:嵌入式linux网络编程 编辑:程序博客网 时间:2024/06/05 04:34

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 档案