RPMコマンドを使いこなしたい

» 2000年08月30日 00時00分 公開
[木田佳克ITmedia]

この記事は会員限定です。会員登録すると全てご覧いただけます。

 RPMコマンドは、Red Hat系ディストリビューションのLinuxで特有のパッケージ配布形態だ。プログラムなどを容易にインストールや削除することが可能であり、makeなどが必要なくLinux活用のハードルを低くしてくれる。

 RPMコマンドのオプションには、インストールや削除を行う以外にもたくさんのものが用意されており、覚えておくと便利なものが多い。ここでは、知っておくと便利なものを厳選して紹介しよう。

覚えておくと便利な厳選オプション

--test

 インストールは行わず、テストのみを行う。パッケージが正常であるかチェックする場合に便利だろう。

# rpm -i --test xxxxxx.rpm

拡張子rpmのファイル

 複数のパッケージをインストールする場合には、拡張子rpmのファイルを続けて記述すればよい。ただし、ワイルドカード(「*」など)も利用できるため、こちらのほうが便利かもしれない。

# rpm -i xxxxxx.rpm xxxxxx.rpm
# rpm -i *.rpm

-ivh

 通常のインストールには、「-ivh」オプションで指定する。「i」はインストール、「v」は詳細な情報出力、「h」がインストールの進行状況表示を指定している。

# rpm -ivh xxxxxx.rpm

-Uvh

 常に「U」オプションを指定してインストールするのもおすすめだ。「U」はアップグレードを示し、すでにインストールされている同一の古いパッケージがあれば、アップグレード処理をしてくれる。最初のインストールでも、「U」オプションを指定しても問題はない。

# rpm -Uvh xxxxxx.rpm

--oldpackage

 「oldpackage」は、バージョンダウンを行う場合のオプションだ。新しいパッケージをインストールしたけれど、動作の不具合から元のバージョンに戻すような場合に利用する。

# rpm -i --oldpackage xxxxxx.rpm

--force

 すでにインストール済みのパッケージを強制的に上書きするのが「force」オプションだ。ほかのパッケージで、一部のファイルが書き換えられてしまった場合などに有効だろう。

# rpm -i --force xxxxxx.rpm

-qa

 インストール済みのパッケージすべてを確認する。

$ rpm -qa

特定のパッケージ名

 特定の文字列「samba」を指定して、パッケージがインストールされているかを確認する。

$ rpm -q samba
samba-2.0.7-ja_1.1

--whatprovides

 特定のコマンドが、いずれのパッケージでインストールされたのかを確認するには、「whatprovides」オプションを使う。

$ rpm -q --whatprovides /usr/bin/xnttp

--qs

 インストールされているパッケージファイルが正常かどうかを確認するには、「qs」オプションを指定する。

$ rpm -qs samba-2.0.7-ja_1.1
normal/usr/share/swat/..............
normal/usr/share/swat/..............
normal/usr/share/swat/..............
normal/usr/share/swat/..............

-qi

 パッケージの情報を確認するには、「qi」オプションを使う。

$ rpm -qi samba-2.0.7-ja_1.1
Name   : samba              Relocations: /usr
Version: 2.0.7              Vendor: (none)
Release: ja_1.1             
Build Date: Sat 08 Jul 2000 09:17:41PM JST
Install date: Mon 10 Jul 2000 05:28:32 PM JST
Build Host: kami3.house.ume2001.com
Group  : Networking         
Source RPM: samba-2.0.7-ja_1.1.src.rpm
Size   : 19882244           
License: GNU GPL version 2
Packager: John H Terpstra [Samba-Team] 
Summary: Samba SMB client and server
Description :
〜以下略〜

--rebuilddb

 RPMには、パッケージ情報を管理しているデータベースがある。このデータベースファイルを再構築するのが「rebuilddb」だ。万が一、rpmコマンドで思いもよらぬ挙動を示した場合には、このコマンドを試してみるのがよいかもしれない。

# rpm --rebuilddb

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ