トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

RPM

RPM

Linux上にてパッケージ(rpm形式)のインストール・アンインストールを行うときに使用します。必ずroot権限にて実行するようにしてください。「パッケージ」とは、ソフトウェアが1つのファイルにまとまった固まり、と考えてもらえるといいかと思います。

rpm -iv xxx.rpm
パッケージを新規インストールします。
rpm -q xxxx
パッケージxxxxがインストールされているか存在を確認します。
rpm -aq | grep xxxx
とりあえず、フルパッケージ名が分からない場合に引っかけてgrepで探します。「-a」オプションは「すべて列挙」の意味となります。
rpm -e xxxx
パッケージxxxxを削除(アンインストール)します。
rpm -Uvh xxxx
パッケージxxxxをアップデートします。

なお、UNIXの場合はファイル(ライブラリ・パッケージ)同士の依存関係があります。例えば、libpng.soファイルがないとインストールできない・バージョンが古い、などと言った依存状況もrpmでパッケージをインストールするときに出てくることがあります。インストール順もありますので、またパッケージ(ライブラリ)同士の相性にてOSが不安定になることもなきにしもあらずですので、パッケージを入れる場合は十分な注意を払ってください。

rpmパッケージが壊れた場合の修復

希に、rpm命令が実行できずに途中で止まってしまうことがあります。たいていは、関連ファイルが壊れています。この場合の修復は以下のように行います。root権限で行うようにしてください。

cd /var/lib
cp -a rpm rpm.bak
cd rpm
rm __db.*
rpm --rebuilddb

まず、rpmの関連ファイルがあるディレクトリに移動します(「which rpm」などで調べてみてください)。「/var/lib」がrpmファイルのあるディレクトリとすると、「cd /var/lib」で移動です。

「cp -a rpm rpm.bak」にて、rpmディレクトリの内容をすべてrpm.bakというディレクトリにコピーします。これは、万が一復旧不可能になる場合に備えての対処です。

rpmの情報は、rpm独自のデータベースに蓄えられていますのでその関連ファイル(__db.001/__db.0002/__db.003)を「rm __db.*」にて削除します。

最後に「rpm --rebuilddb」にて、rpmのデータベース自身を再度構築します。マシンスペックにもよりますが、再構築までに数分以上かかります。

以上で、rpmの修復は完了です。

Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.