(Linux)SRPMパッケージの扱い方

RedHat系のLinuxを構築した人なら誰でも、RPMパッケージをインストールしたことはあり、インストールする方法は知っていると思う。
しかし、SRPMパッケージを扱える人は、意外に少ないのではないだろうか。

・SRPM aaa.src.rpmから全自動でRPMを作る方法
rpm --rebuild aaa.src.rpm
(オプションが無いというエラーが出る場合は、rpmbuild --rebuild aaa.src.rpm)
→ソース展開、コンパイルがなされ、RedHatの場合は/usr/src/redhat/RPMS/にRPMができる。

・SRPMをインストールする(ソース、specファイルを展開する)方法
rpm -ivh aaa.src.rpm
→RedHatの場合は、/usr/src/redhat/SOURCES以下にソースが、/usr/src/redhat/SPECS以下にspecファイルが展開される。

・インストールしたSRPMをコンパイルする方法
1. 必要があれば、/usr/src/redhat/SOURCES以下のソースを編集する
2. cd /usr/src/redhat/SPECS
3. 必要があれば、specファイル(aaa.spec)を適宜編集する
4. rpmbuild -ba aaa.spec
→RedHatの場合は、/usr/src/redhat/RPMS/にRPMができる。

・できたRPMをインストールする方法(普通のRPMのインストールと同じ)
rpm -ivh /usr/src/redhat/RPMS/aaa.rpm (名前はaaa.rpmとは限らない)


私も、半年前まではSRPMの使い方を知らなくて、インストールしたいソフトがRPMでなくSRPMでしか提供されてない場合は、諦めてtar.gz形式のソースを拾ってきて自力でコンパイルしていた。
しかし、半年前のある時、どうしてもSRPMをインストールしないといけないことが発生して、Webで検索したら、とても簡単であることが判明した。こんな簡単なことも調べずに、それまでにたくさんのSRPMを目にして、使い方がわからないからスルーしたことを、とても後悔した。

(参考)SRPMからプログラムをインストールするには