SRPM的使用:rpmbuild
1、與RPM區別: www.2cto.com
檔案格式 檔名格式 直接安裝與否 內含程式類型 可否修改參數並編譯
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 檔案