Linux 安裝套件軟體有兩種方式,一個是用 yum 安裝,
(CentOS / RedHat 是 yum,Ubuntu / Debian 是 apt,其它就是其它)
用 yum 滿方便的,相依性的套件會自動幫你安裝,這是它的缺點,相依性問題是 CentOS / RedHat 常遇到的大麻煩,常在解決相依性套件,如果你是用 apt 的話應該比較少遇到。
Linux 安裝套件另一個方式就是直接下載編譯 tarball,通常是 ./configure;make;make install 就搞定。
rpmbuild 的功能是 Build RPM Packages,就是把 tarball 裡的 spec 編譯成 RPM 檔
先安裝套件
yum -y install rpm-build rpmdevtools
執行
rpmdev-setuptree
在 /root/ 底下就會有 rpmbuild 目錄
drwxr-xr-x 3 root root 4096 2013-03-27 14:09 BUILD drwxr-xr-x 2 root root 4096 2013-03-27 14:09 BUILDROOT drwxr-xr-x 3 root root 4096 2013-03-27 14:09 RPMS drwxr-xr-x 2 root root 4096 2013-03-27 14:09 SOURCES drwxr-xr-x 2 root root 4096 2013-03-27 14:17 SPECS drwxr-xr-x 2 root root 4096 2013-02-18 11:39 SRPMS
再來把 XXX.spec 檔放到 /root/rpmbuild/SPECS 裡
用 spectool 下載 spec 裡相關檔案,通常編譯 spec 是需要相關 tarball 檔的,不過如果是 XXX.src.RPM 也是包有 tarball 檔,它是會放到 /usr/src/redhat/SOURCES
spectool -g /root/rpmbuild/SPECS/XXX.spec
再把 tarball 放到 /root/rpmbuild/SOURCES/ 裡
編成 RPM
rpmbuild -bb /root/rpmbuild/SPECS/XXX.spec
編好後就可安裝
rpm -ivh /root/rpmbuild/RPMS/ x86_64 or i386 /XXX.rpm
留言