ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
アプリケーションパッケージ開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
パッケージを構築する前に、製品を 1 つ以上のパッケージで構成するかどうかを決定する必要があります。小さいパッケージを数多くインストールする場合、大きなパッケージを 1 つインストールするよりも時間がかかります。単一のパッケージを作成することが良い選択ではありますが、いつでも可能というわけではありません。複数のパッケージを構築することに決めた場合、アプリケーション コードを分割する方法を決定する必要があります。このセクションでは、パッケージの構築を計画するときに使用する条件の一覧を示します。
パッケージ化の条件は、各条件の間でトレードオフが生じることがよくあります。すべての要件を同じように満たすのは難しいことが多々あります。これらの条件を重要度の高いものから順に紹介します。ただし、この順序は、大まかな目安であり、状況に応じて変更すべきものです。条件はどれも重要ですが、適切なパッケージのセットを作成するためにこれらの条件を最適化するかどうかはユーザーで判断してください。
パッケージ設計の詳細な手法については、第 6 章パッケージの作成のための高度な手法を参照してください。
すべてのパッケージを、リモートでインストールできるようにしてください。パッケージをリモートでインストールできれば、管理者がクライアントシステムでインストールできるので、pkgadd コマンドを実行するルート (/) ファイルシステムにパッケージをインストールする必要はなくなります。
パッケージの配置時に、スタンドアロンシステムやサーバーなど、各種のシステムソフトウェア構成を検討します。構成タイプごとにインストールが最適化されるよう、パッケージを適切に設計し、影響を受けるファイルを分割します。たとえば、ルート (/) ファイルシステムと /usr ファイルシステムの内容を分割すると、サーバー構成のサポートが容易に行えるようになります。
パッケージは自己完結型にし、一連の機能で明確に識別されるようにします。たとえば、UFS を含むパッケージは、すべての UFS 機能を含み、UFS のバイナリにのみ制限されるべきです。
パッケージは、顧客の観点から見て、機能単位ごとに分類するようにしてください。
契約上の合意のためにロイヤリティーの支払いが必要となるコードは、専用のパッケージまたはパッケージグループに配置します。コードを必要以上に多くのパッケージに分散しないでください。
システムに依存するバイナリは専用のパッケージに格納します。たとえば、カーネルコードは、各実装アーキテクチャーを個々のパッケージインスタンスで構成して、専用のパッケージに格納するようにしてください。また、この規則は、別のアーキテクチャーのバイナリにも適用されます。たとえば、SPARC システムのバイナリと x86 システムのバイナリは、それぞれ別のパッケージに格納するようにしてください。
パッケージを作成するとき、重複するファイルはできるだけ削除します。ファイルが無駄に重複すると、サポートとバージョン管理が困難になります。複数のパッケージが製品に含まれる場合、それぞれの内容を繰り返し比較し、重複するファイルがないか調べてください。
ローカライズ版に固有の項目は、専用のパッケージに格納するようにしてください。理想的なパッケージモデルは、製品のローカライズ版をロケールごとに 1 つのパッケージとして配信するものです。残念ながら、組織的な境界が、機能的な境界や製品的な境界と両立しない場合があります。
また、各国で共有される標準設定もパッケージで配信できます。このようにパッケージを設計すると、ローカライズ版の変更に必要なファイルを識別し、ローカライズ版パッケージの配信形式を標準化できます。