アプリケーションパッケージ開発者ガイド

パッケージの整合性の確認

pkgchk コマンドを使用すると、パッケージの整合性、パッケージがシステムにインストールされているか、パッケージ形式でインストールされているか (pkgadd コマンドでインストールできる状態) を確認できます。パッケージの構造またはインストールされているファイルとディレクトリを確認したり、パッケージオブジェクトについての情報を表示したりします。pkgchk コマンドは、次の内容について一覧表示したり、チェックしたりできます。

このコマンドの詳細については、pkgchk(1M) を参照してください。

pkgchk コマンドでは、2 種類のチェックが実行されます。ファイルの属性 (ファイルのアクセス権と所有権、およびブロックまたは文字型特殊デバイスのメジャー/マイナー番号) のチェックとファイルの内容 (サイズ、チェックサム、および変更日時) のチェックです。デフォルトでは、ファイルの属性と内容の両方がチェックされます。

また、pkgchk コマンドでは、インストールされているパッケージとインストールソフトウェアデータベースの間で、ファイルの属性と内容の比較も行われます。パッケージに関するエントリは、インストール時から変わる場合があります。たとえば、別のパッケージによってパッケージコンポーネントが変更されているような場合です。データベースは、その変更を反映します。

Procedureパッケージの整合性を確認する方法

  1. パッケージをインストールします。

    必要に応じて、「スタンドアロンシステムまたはサーバーにパッケージをインストールする方法」を参照してください。

  2. パッケージの整合性を確認します。


    # pkgchk  [-v] [-R root-path] [pkg-abbrev...]

    -v

    処理されたファイルを一覧表示します。 

    -R root-path

    クライアントシステムのルートファイルシステムの場所を指定します。 

    pkg-abbrev

    チェックする 1 つ以上のパッケージの名前を空白で区切って指定します。省略すると、pkgchk では使用可能なすべてのパッケージがチェックされます。


例 4–2 パッケージの整合性の確認

この例では、インストールされているパッケージの整合性の確認に使用する必要のあるコマンドを示します。


$ pkgchk pkg-abbrev
$

エラーがある場合、pkgchk コマンドではそのエラーが出力されます。エラーがない場合は、何も出力されず、終了コード 0 が返されます。パッケージの省略名を指定しないと、システム上のすべてのパッケージがチェックされます。

または、-v オプションを使用すると、エラーがない場合にはパッケージに含まれるファイルが一覧表示されます。次に例を示します。


$ pkgchk -v SUNWcadap
/opt/SUNWcadap
/opt/SUNWcadap/demo
/opt/SUNWcadap/demo/file1
/opt/SUNWcadap/lib
/opt/SUNWcadap/lib/file2
/opt/SUNWcadap/man
/opt/SUNWcadap/man/man1
/opt/SUNWcadap/man/man1/file3.1
/opt/SUNWcadap/man/man1/file4.1
/opt/SUNWcadap/man/windex
/opt/SUNWcadap/srcfiles
/opt/SUNWcadap/srcfiles/file5
/opt/SUNWcadap/srcfiles/file6
$

クライアントシステムのルートファイルシステムにインストールされているパッケージを確認する必要がある場合は、次のコマンドを使用します。


$ pkgchk -v -R root-path pkg-abbrev

参照

以上の手順が終了したら、次の作業、pkginfo コマンドで情報を取得する方法」に進みます。