rpm

最終更新日時:2007-07-01 15:31:55
Linux系

rpm とは、RedHat 系のディストリビューションで使用されているパッケージ管理アプリケーションです。
拡張子が .rpm であるファイルをパッケージファイルとして扱います。

rpm コマンド


コマンド概要
rpm -qa現在インストールされているパッケージの一覧
rpm -qi ''package''''package'' で指定したパッケージの情報を表示
"rpm -ql ''package''"''package'' で指定したパッケージが含むファイルの一覧
rpm -i ''filename''''filename'' で指定したパッケージをインストールする
rpm -e ''package''''package'' で指定したパッケージをアンインストールする。まれに同じパッケージ名が重複してインストールされていたりしてエラーが出る場合には、--allmatchesを指定すると削除可能。
rpm -bc ''specfile''''specfile'' で指定したスペックファイルを元にソースパッケージをコンパイルする


srpm によるインストール方法

.rpm とは別にソースパッケージ (.srpm) も用意されており、これを使用してパッケージをインストールすることも可能です。
ただし、srpm を元にインストールしたパッケージはパッケージ管理 (rpm) の対象にはなりません。
きっちりパッケージ管理をしたい人は、一度 srpm から rpm を作成し、その rpm をインストールするようにする必要があります。

sprm を使用したインストールは以下のようになります。
まず、.srpm ファイルを取得し、インストールします。

 % rpm -i abcdefg-src.rpm


$HOME/rpm/SPEC ディレクトリにインストールされるので、そこに移動して spec ファイルを元に build を行います。

 % cd $HOME/rpm/SPEC
 % rpm -bc abcdefg.spec


$HOME/rpm/BUILD の下に 今 build したパッケージのディレクトリができます。
エラー等がなければ既にコンパイルは完了している状態なので、後はこのディレクトリで make install するなりなんなりして、パッケージをインストールします。

rpmデータベース再構築


/var/lib/rpmにrpmのデータベースがあり、これが壊れることがしばしばあります。
壊れてしまうと、rpmコマンドが正常に実行できなくなりますので、その場合には再構築する必要があります。
再構築は以下のように、rpmのデータベースをいったん削除した後、再構築コマンドを実行します。

 # rm /var/lib/rpm/__db.00*
 # rpm --rebuilddb


お問い合わせは 掲示板 にて。