B.2.7. 検証

パッケージの検証では、パッケージからインストールされたファイルに関する情報と、元のパッケージに含まれるファイルに関する情報が同一かどうか調べます。検証により、ファイルのサイズ、MD5 サム、権限、タイプ、所有者、ファイルのグループをはじめ、様々なことが比較されます。
コマンド rpm -V を実行すると、パッケージの検証が行われます。クエリの説明で示した オプションの検証を使用して、検証したいパッケージを指定することができます。簡単な使用方法としては、rpm -V tree というものがあります。これを実行すると、tree パッケージに含まれるすべてのファイルがそれがインストールされたときの状態と同じであるかどうかが検証されます。例えば次のようにします:
  • 特定のファイルを含むパッケージを検証するには、以下のようにします:
    rpm -Vf /usr/bin/tree
    この例では、/usr/bin/tree がパッケージのクエリを行うために使用されるファイルの絶対パスです。
  • システムのインストール済みのすべてのパッケージを検証するには以下のようにします(時間がかかります):
    rpm -Va
  • インストール済みのパッケージと、RPM パッケージファイルとを検証するには以下のようにします:
    rpm -Vp tree-1.5.3-2.el6.x86_64.rpm
    RPM データベースが破損した疑いがある場合には、このコマンドが役立ちます。
すべてが正常に検証された場合は何も出力されません。何らかの矛盾が見つかった場合はその内容が表示されます。出力フォーマットは、8 個の文字列( "c" は設定ファイルを示す)とファイル名です。8 個の各文字は、ファイルの 1 つの属性と RPM データベースに記録されたその属性の値とを比較した結果を示します。シングルピリオド(.)は、テストに合格したことを示します。以下の文字は、それぞれ何らかの矛盾が見つかったことを示しています:
  • 5 — MD5 チェックサム
  • S — ファイルサイズ
  • L — シンボリックリンク
  • T — ファイル修正時刻
  • D — デバイス
  • U — ユーザー
  • G — グループ
  • M — モード(権限とファイルタイプを含む)
  • ? — 読み込み不可ファイル(例:ファイルのアクセス権のエラー)
何かが出力された場合は、パッケージを削除するか、再インストールするか、または別の方法で問題を修正するかを熟慮の上判断してください。