ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
アプリケーションパッケージ開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
クラスアーカイブパッケージは、アプリケーションバイナリインタフェース (ABI) の拡張機能です。これは、特定のファイルセットが単一のファイル (アーカイブ) に結合され、オプションで圧縮または暗号化されたパッケージです。クラスアーカイブ形式は、アクティブな可能性があるファイルシステムに対して、最初のインストールの速度を最大 30% 向上し、パッケージおよびパッチのインストール時の信頼性が改善されます。
次のセクションでは、アーカイブパッケージディレクトリの構造、キーワード、および faspac ユーティリティーについて説明します。
次の図に示すパッケージエントリは、パッケージファイルが含まれるディレクトリを表します。このディレクトリは、パッケージと同じ名前にする必要があります。
図 6-1 パッケージディレクトリ構造
パッケージディレクトリに含まれるファイルおよびディレクトリの機能を次に示します。
|
クラスアーカイブ形式では、パッケージビルダにより reloc および root の各ディレクトリからアーカイブにファイルを結合できます。アーカイブは、インストールの速度の向上、パッケージサイズの縮小、またはパッケージのセキュリティの向上のために、圧縮、暗号化、またはその他の任意の方法で処理できます。
ABI により、パッケージ内の任意のファイルをクラスに割り当てることができます。特定のクラス内のすべてのファイルは、クラスアクションスクリプトで定義されるカスタムメソッドを使用してディスクにインストールできます。このカスタムメソッドでは、ターゲットシステムで使用できるプログラムまたはパッケージとともに提供されるプログラムを使用できます。結果の形式は、標準 ABI 形式によく似ています。次の図に示すように、別のディレクトリが追加されます。アーカイブ用ファイルのすべてのクラスは、そのまま単一のファイルに結合され、archive ディレクトリに配置されます。アーカイブされたすべてのファイルが reloc および root の各ディレクトリから削除され、インストールクラスアクションスクリプトが install ディレクトリに配置されます。
図 6-2 アーカイブパッケージディレクトリの構造
この新しいクラスアーカイブ形式をサポートするために、pkginfo ファイル内で特殊な意味を持つキーワード形式の新しいインタフェースが 3 つあります。これらのキーワードを使用して、特殊な処理が必要なクラスを指定します。各キーワード文の形式は、 keyword=class1[class2 class3 ...] です。各キーワードの値は、次の表で定義されています。
|
アーカイブされたクラスごとにクラスアクションスクリプトが必要です。これは Bourne シェルコマンドが含まれたファイルで、アーカイブから実際にファイルをインストールするために pkgadd から実行されます。パッケージの install ディレクトリにクラスアクションスクリプトが検出された場合、pkgadd からそのスクリプトにインストールのすべての責任が委任されます。クラスアクションスクリプトは root 権限で実行され、ターゲットシステムの任意の場所にファイルを配置できます。
注 - クラスアーカイブパッケージを実装するために絶対に必要なキーワードは、PKG_SRC_NOVERIFY だけです。ほかのキーワードは、インストールの速度を向上したりコードを保護したりするために使用できます。
faspac ユーティリティーは、標準 ABI パッケージを、バンドル版のパッケージで使用されるクラスアーカイブ形式に変換します。このユーティリティーでは、cpio を使用してアーカイブを行い、compress を使用して圧縮を行います。結果のパッケージには、最上位のディレクトリに archive というディレクトリが追加されています。このディレクトリには、クラスごとに名前が付けられたすべてのアーカイブが含まれます。install ディレクトリには、各アーカイブの展開に必要なクラスアクションスクリプトが含まれます。絶対パスはアーカイブされません。
faspac [-m Archive Method] -a -s -q [-d Base Directory] / [-x Exclude List] [List of Packages]
次の表で、faspac コマンドの各オプションについて説明します。
|