以前、Qiitaに書いた内容を転載。

http://qiita.com/koitatu3/items/49635de6ec40a5f30222

いっつも忘れてしまうので、
例によってメモ代わりに。タイトルは釣りです。

SRPMに含まれているSPECファイルをそのまま使うのであれば、

# rpmbuild --rebuild <SRPMファイル>

これで一撃でbuildできる。

わざわざ、

 # rpm -Uvh <SRPMファイル> # cd /usr/src/redhat/SPEC # rpmbuild -ba <SPECファイル> 

 

とやらずに済むので便利。
※そもそも、一撃ビルドせずに、きちんとSPECファイル読めや。
変なもん仕込まれてたらどうんだ、ボケ。という憂慮はあるのだが。。。

ちなみに、rpmの-Uオプションは、

・既に前バージョンのrpmパッケージがインストールされてる場合はアップデート。
・インストールされていない場合は、新規インストール(-iオプションと同じ)

という便利なオプション。
これ知ってから-iオプションは久しく使っていない。

なお、ネット上で散見される

# rpm --rebuild hogehoge.srpm

これはrpmのバージョン3まで。

○おまけ
ついでに、他にもよく忘れがちになるrpmコマンドの細かいオプションをメモっておく。
(たまにど忘れしてman叩く羽目になるので。。。)

・敢えてインストール済みのパッケージをダウングレードしたい時に。
(Forceでも良いが、ほぼ依存関係壊れるので、
こちらで一個ずつ解消することをお薦めする。)

# rpm -Uvh --oldpackage <RPMファイル>

・インストール済みのパッケージを再インストールしたい場合に。

# rpm -Uvh ---replacepkgs <RPMファイル>

・実際にインストールせずに、インストールチェックのみを実施する。
(個人的には毎回使っている。必須。)

# rpm -Uvh --test <RPMファイル>

・RPMファイルを指定して更新履歴を表示する。

# rpm -qp --changelog <RPMファイル>

・既にインストール済みのRPMパッケージの更新履歴を表示する。

# rpm -q --changelog <パッケージ名>

・RPMファイルに含まれるpreinstall/postinstallスクリプトを確認する。

# rpm -qp --scripts rpmファイル

・既にインストール済みのrpmパッケージのスクリプトを確認する。

# rpm -q --scripts <パッケージ名>

・該当ファイルを含むパッケージ名の表示する。

# rpm -qf <ファイル名>

・パッケージが依存しているファイルの表示する。

 

# rpm -qR <パッケージ名>

rpmのオプションは豊富。
今時はyumでもっと楽に解決できるはずだが、yumが使えない環境などもあるので、
少しでも覚えておくといざという時に非常に助かる。

最後に…

困ったらすぐに–nodepsとか–forceを使う奴はエンジニアじゃない。
(特に過去の自分…)

それでは、また気が向いた時に。