rpm
最終更新日時:2007-07-01 15:31:55
Linux系
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