Help us understand the problem. What is going on with this article?

SRPMを一撃でRPMビルドする。 (rpmコマンドでつい忘れがちな細かいオプションもおまけで記載)

More than 5 years have passed since last update.

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


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を使う奴はエンジニアじゃない!!
(特に過去の自分…)


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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした