Oracle® Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布

印刷ビューの終了

更新: 2014 年 7 月
 
 

パッケージの設計

このセクションで説明している優れたパッケージ開発の基準の多くでは、妥協点をさぐることが必要になります。すべての要件を同じように満たすのは難しいことが多々あります。次の基準は、重要度の高い順に示されています。ただし、この順番は状況に応じてゆるやかな目安となるように意図されています。これらの各基準は重要ですが、適切なパッケージセットを作成するために、これらの要件を最大限に生かせるかどうかはユーザー次第です。

パッケージ名を選択します。

Oracle Solaris では、IPS パッケージに階層的な命名方法を使用します。可能なかぎり、同じスキームに適合するようにパッケージ名を決定します。ユーザーが pkg install などのコマンドに短いパッケージ名を指定できるように、パッケージ名の最後の部分は一意になるようにします。

クライアントサーバー構成用に最適化します。

パッケージを配置するときに各種パターンのソフトウェア使用 (クライアントとサーバー) を検討します。適切なパッケージ設計では、影響を受けるファイルを分割して各構成タイプのインストールを最適化します。たとえば、ネットワークプロトコル実装では、パッケージユーザーがサーバーを必ずしもインストールしなくてもクライアントをインストールできるようにします。クライアントとサーバーが実装コンポーネントを共有する場合は、共有ビットを含む基本パッケージを作成します。

機能境界に従ってパッケージ化します。

パッケージは自己完結型にし、一連の機能で明確に識別されるようにします。たとえば、ZFS を含むパッケージはすべての ZFS ユーティリティーを含み、ZFS バイナリのみに限定されるようにします。

パッケージは、ユーザーの視点から機能ユニットにまとめるようにします。

ライセンスまたは使用料の境界に従ってパッケージ化します。

契約上の合意により使用料の支払いを必要とするコードや、明確なソフトウェアライセンス条項を含むコードは、専用パッケージまたはパッケージのグループに入れます。コードを必要以上に多くのパッケージに分散しないでください。

パッケージ間のオーバーラップを回避または管理します。

オーバーラップするパッケージは同時にインストールできません。オーバーラップするパッケージの例は、ファイルシステムの同じ場所に異なる内容を配布するパッケージです。このエラーはユーザーがそのパッケージをインストールしようとするまで見つからない可能性があるため、オーバーラップしているパッケージはユーザーエクスペリエンスを低下させることがあります。pkglint(1) ツールは、パッケージのオーサリングプロセス中にこのエラーを検出するのに役立つ場合があります。

パッケージの内容が異なる必要がある場合は、exclude 依存関係を宣言して、IPS がこれらパッケージをまとめてインストールすることを許可しないようにします。

パッケージのサイズを適切な大きさにします。

パッケージはソフトウェアの単一ユニットを表しており、インストールされるかされないかのどちらかです。(パッケージがオプションのソフトウェアコンポーネントを配布する方法については、オプションのソフトウェアコンポーネントのファセットの説明を参照してください。)常にまとめてインストールするパッケージは、結合しておくようにします。IPS では更新時に変更されたファイルのみをダウンロードするため、変更が少ない場合は大きなパッケージでもすぐに更新されます。