rpm の使いかた
はっきり言って、rpm は使い方が分からない。
だって、もともとが Slackware な人間なんだもん。
パッケージ管理なんて、メンドクサイな、って思っちゃうし、
いままで覚える必要もなかったし。

しかし、そうも言ってられない状態になってしまった。
なにせメイン環境の Vine Linux が RedHat ベースで rpm をガンガン使ってるし、
さらに輪をかけて apt なんてもんも入って来たしで、
いいかげん覚える事にするか。
幸い? Linux magazine で短期の特集を組んでいるし。
ってな事で、Linux magazine の内容を確認しながらこのページを作っていく事にした。


rpm の主なオプション
-q   パッケージの確認
-i/-U/-F   パッケージのインストール
-e   パッケージのアンインストール
-V   パッケージの検証


パッケージの確認
パッケージ( rpm, srpm ファイル )、またはファイルについて問い合わせ(query)を行う。
-q の後に、欲しい情報のタイプについてのスイッチを付けて使用。

-a rpm -qa ( all )
インストールされているパッケージの一覧を表示を表示。
アルファベット順にソートしてくれないので sort を併用すると楽。
-i rpm -qi hoge ( informatin )
インストールされているパッケージの概要を表示。
バージョン名、拡張子は付ける必要はない。
-l rpm -ql hoge ( list )
インストールされているパッケージの、インストールされているファイルの一覧を表示。
-v をつけると、ls -l と同様の詳細な表示をしてくれる。
バージョン名、拡張子は付ける必要はない。
-p rpm -qp hoge-1.2.rpm ( pre install ? )
パッケージ自身の情報を表示。
インストールしていない rpm ファイルに対して使える。
-i(information),-l(list) を併用可能。
-f rpm -qf hoge
パッケージの逆引き。
インストール済の指定ファイルがどの rpm パッケージに入っていたかを表示。


パッケージのインストール
rpm,srpm ファイルのインストールを行うときに使用。
-i, -U ,-F の3種類があって、それぞれインストールの仕方に違いがある。

-i 新規インストールのみ。
同名のパッケージがインストールされている時は実行されない。
-U 既存パッケージのアップグレード、及び、新規インストールの両方を行う。
-F アップグレードのみを行い、新規インストールは行わない。

また、状態を示すスイッチもあるので、併用するとグー。
-v パッケージ名の表示
-h インストールの進行状況をシャープ(#)で表示

例)
$ rpm -ivh hoge-1.2vl3.rpm
  > hoge          ##################################

その他の特殊なオプション
インストールオプションに続けて指定して、使用。
--nodeps 依存関係を無視してインストール、アンインストールを実行。
当然、依存関係は壊れるし、まともに動かない可能性、大。
--oldpackage 古いバージョンのパッケージをインストール。
新しいパッケージとの併用が可能。
--replacepkgs 同一のバージョン番号のパッケージをインストール。
何かの都合でファイル本体が消えてしまった場合に使用。
--replacefiles 他のファイルパッケージとファイルがぶつかってしまう場合には、 置換してかまわない事を指定。
--force --oldpackage, --replacepkgs, --replacefiles, を同時に指定したことになる。
--test 実際にはインストール、アンインストールはせず、確認を行う。
シュミレーション。
例)
$ rpm -ivh --nodeps hoge-1.2vl3.rpm
  > hoge          ##################################


パッケージのアンインストール

$ rpm -e hoge

パッケージ名のみの指定で可。
バージョン名などは不用。

--test, --nodeps も指定可能。


パッケージの検証
インストールしたものと、パッケージの内容を照らし会わせる。

$ rpm -V package
> S.5....T c /home/hogehoge の場合、

S    サイズがインストールした時と違う
5    MD5 の値が違う
T    日付が違う
c    設定ファイルであることを示す

普通は検証結果に差は出ないんだけど、
クラッキングされた場合なんかは出るらしい。



最近インストールしたRPMパッケージを調べる

$ rpm -qa --last | head

参照



戻る