以前、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を使う奴はエンジニアじゃない。
(特に過去の自分…)
それでは、また気が向いた時に。