要安裝包含源碼的src.rpm包,首先要安裝一個軟件rpm-build。
安裝該軟件後,在Red Hat 5環境下,生成/usr/src/RedHat文件夾。該文件夾下有如下文件夾:
BUILDROOT :存放臨時編譯文件。
BUILD :存放編譯後的文件
SOURCE :存放源碼包,如tar.gz tar.bz2
RPMS:存放轉換成功後的rpm包
SRPMS:存放要轉換的src.rpm包
SPECS:存放配置文件,該配置文件包含生成的rpm的信息,及編譯過程定義。非常重要。裡面的文件自動生成。
轉換過程:
1:將要安裝的soft.1.6.src.rpm包放入redhat/SRPMS下面。
2:進入SRPMS下,輸入命令rpm -ivh soft.src.rpm,
3: 在輸入步驟2的命令後,在BUILD文件夾裡面生成編譯後的模塊文件和頭文件,在SPECS中生成配置文件soft.1.6.spec
4: 進入在shell中輸入命令rpmbuild -bb(build banary) soft.1.6.spec
5: 執行完步驟四之後,在RPMS文件夾下生成soft.1.6.rpm包。最後成功得到rpm包。
將tar包轉換成rpm包
在red hat 6下面轉換。和red hat 5不同,安裝工具rpm-build包後,會生成文件夾/root/rpmbuild 。rpmbuild下面的文件夾和上面所述的一樣。
轉換步驟如下
1:將soft.1.6.tar.gz放入/root/rpmbuild/SOURCE下面。
2:進入目錄SPECS下面,用vim編輯生成一個文件為soft.1.6.spec的文件,注意!!此文件名不能隨便命名,必須和要轉換的tar包的名字和版本一致!!
3:進行完步驟二之後,配置文件中會生成一個模板,如果沒有則失敗。
4:如果有模板,則在version字段填入tar包的版本,必須一致!!source0字段必須填上要轉換的tar包的全名!!
%install下面粘貼tar包編譯鏈接後的所有安裝路徑,粘貼之後,將原來的安裝路徑/usr/local改為$RPM_BUILD_ROOT.用vi編輯器全部替換。再將所的單引號換成雙引號。
5:由於%file選項還沒有填上,這時輸入命令rpmbuild -bb *.spec 會產生一個錯誤信息,將這個信息復制粘帖到%file選項即可,
6:再次運行步驟五的命令,就可得到rpm包了。