-qオプションを使用すると、rpmはクエリーを開始し、(-pオプションを追加することにより) RPMアーカイブを検査できるようにして、インストールされたパッケージのRPMデータベースでクエリーを行えるようにします。必要な情報の種類を指定する複数のスイッチを使用できます。詳細については、表 16.1. 「最も重要なRPMクエリーのオプション」を参照してください。
表 16.1. 最も重要なRPMクエリーのオプション
| パッケージ情報 |
| ファイルリスト |
| ファイル |
| ステータス情報を含むファイルリスト( |
| ドキュメントファイルだけをリストします ( |
| 設定ファイルだけをリストします( |
| 詳細情報を含むファイルリスト( |
| 他のパッケージが |
| パッケージが要求する機能 |
| インストールスクリプト(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文字の記号を使用します。
設定ファイルの場合は、文字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です。