RPMクエリー

-qオプションを使用すると、rpmはクエリーを開始し、(-pオプションを追加することにより) RPMアーカイブを検査できるようにして、インストールされたパッケージのRPMデータベースでクエリーを行えるようにします。必要な情報の種類を指定する複数のスイッチを使用できます。詳細については、表 16.1. 「最も重要なRPMクエリーのオプション」を参照してください。

表 16.1. 最も重要なRPMクエリーのオプション

-i

パッケージ情報

-l

ファイルリスト

-f FILE

ファイルFILEを含むパッケージでクエリーを行います(FILEにはフルパスを指定する必要があります)。

-s

ステータス情報を含むファイルリスト(-lを暗示指定)

-d

ドキュメントファイルだけをリストします (-lを暗示指定)。

-c

設定ファイルだけをリストします(-lを暗示指定)。

--dump

詳細情報を含むファイルリスト(-l-c、または-d と共に使用します)

--provides

他のパッケージが--requiresで要求できるパッケージの機能をリストします。

--requires, -R

パッケージが要求する機能

--スクリプト

インストールスクリプト(preinstall、postinstall、uninstall)


たとえば、コマンドrpm -q -i wgetは、例 16.1. 「rpm -q -i wget」に示された情報を表示します。

例 16.1. rpm -q -i wget

Name        : wget                         Relocations: (not relocatable)
Version     : 1.9.1                             Vendor: SUSE LINUX AG, Nuernberg, Germany
Release     : 50                            Build Date: Sat 02 Oct 2004 03:49:13 AM CEST
Install date: Mon 11 Oct 2004 10:24:56 AM CEST      Build Host: f53.suse.de
Group       : Productivity/Networking/Web/Utilities   Source RPM: wget-1.9.1-50.src.rpm
Size        : 1637514                          License: GPL
Signature   : DSA/SHA1, Sat 02 Oct 2004 03:59:56 AM CEST, Key ID a84edae89c800aca
Packager    : http://www.suse.de/feedback
URL         : http://wget.sunsite.dk/
Summary     : A tool for mirroring FTP and HTTP servers
Description :
Wget enables you to retrieve WWW documents or FTP files from a server.
This can be done in script files or via the command line.
[...]

オプション-fが機能するのは、フルパスで完全なファイル名を指定した場合だけです。必要な数のファイル名を指定します。たとえば、次のコマンドを実行します。

rpm -q -f /bin/rpm /usr/bin/wget

出力は次のとおりです。

rpm-4.1.1-191
wget-1.9.1-50

ファイル名の一部分しかわからない場合は、例 16.2. 「パッケージを検索するスクリプト」に示すようなシェルスクリプトを使用します。実行するときに、ファイル名の一部を、パラメータとして示されるスクリプトに渡します。

例 16.2. パッケージを検索するスクリプト

#! /bin/sh
for i in $(rpm -q -a -l | grep  $1); do
    echo "\"$i\" is in package:"
    rpm -q -f $i
    echo ""
done

rpm -q --changelog rpmコマンドは、特定のパッケージに関する詳細な変更情報を日付順に表示します。この例は、rpmパッケージに関する情報を示します。

インストールされたRPMデータベースを使うと、確認検査を行うことができます。それらの検査は、-V-y、または--verifyオプションを使用して開始します。このオプションを使うと、rpmは、パッケージ内にあり、インストール以降変更されたことがあるすべてのファイルを表示します。rpmは、次の変更に関するヒントを表示するのに、8文字の記号を使用します。

表 16.2. RPM確認オプション

5

MD5チェックサム

S

ファイルサイズ

L

シンボリックリンク

T

変更時間

D

メジャーデバイス番号とマイナーデバイス番号

U

所有者

G

グループ

M

モード (許可とファイルタイプ)


設定ファイルの場合は、文字cが表示されます。/etc/wgetrc (wget)に対する変更例を以下に示します。

rpm -V wget
S.5....T c /etc/wgetrc

RPMデータベースのファイルは、/var/lib/rpmに格納されています。パーティション/usrのサイズが 1 GBであれば、このデータベースは、完全なアップデート後、およそ 30 MB占有します。データベースが予期していたよりもはるかに大きい場合は、オプション--rebuilddbでデータベースを再構築するようにします。再構築する前に、古いデータベースのバックアップを作成しておきます。cronスクリプトのcron.dailyは、データベースのコピー(gzip でパックされる)を毎日作成し、/var/adm/backup/rpmdbに格納します。コピー数は/etc/sysconfig/backupにある変数MAX_RPMDB_BACKUPSで制御します(デフォルト:5)。1つのバックアップのサイズは、1GBの/usrに対しておよそ1MBです。