パッケージパラメータの情報
ゾーンのパッケージパラメータの設定
SUNW_PKG_ALLZONES、SUNW_PKG_HOLLOW、および SUNW_PKG_THISZONE パッケージパラメータは、ゾーンがインストールされているシステムでのパッケージの特性を定義します。非大域ゾーンがインストールされたシステムでパッケージを管理できるようにするには、これらのパラメータを設定する必要があります。
次の表に、パッケージパラメータの設定に使用できる 4 つの有効な組み合わせを示します。次の表に示されていない設定の組み合わせは無効であり、そのような設定を選択するとパッケージのインストールは失敗します。
3 つのパッケージパラメータをすべて設定したことを確認してください。3 つのパッケージパラメータをすべて空のままにしてもかまいません。ゾーンのパッケージパラメータが見つからない場合、パッケージツールではその設定は false として解釈されますが、パラメータの設定は省略しないように強くお勧めします。3 つのパッケージパラメータをすべて設定することにより、パッケージをインストールまたは削除するときのパッケージツールの動作を正確に指定します。
表 25–1 有効なパッケージパラメータ設定
SUNW_PKG_ALLZONES の設定
|
SUNW_PKG_HOLLOW の設定
|
SUNW_PKG_THISZONE の設定
|
パッケージの説明
|
false
|
false
|
false
|
これは、ゾーンのパッケージパラメータのすべてに値を指定しないパッケージに対するデフォルト設定です。
この設定を持つパッケージは、大域ゾーンまたは非大域ゾーンにインストールできます。
どちらの場合も、パッケージがインストールされたすべてのゾーンで、パッケージの内容全体が可視になります。
|
false
|
false
|
true
|
この設定を持つパッケージは、大域ゾーンまたは非大域ゾーンにインストールできます。インストール後に新しい非大域ゾーンを作成した場合、パッケージはこれらの新しい非大域ゾーンには伝達されません。
どちらの場合も、パッケージがインストールされたゾーンで、パッケージの内容全体が可視になります。
|
true
|
false
|
false
|
この設定を持つパッケージは、大域ゾーンだけにインストールできます。pkgadd コマンドを実行すると、パッケージは大域ゾーンおよびすべての非大域ゾーンにインストールされます。すべてのゾーンで、パッケージの内容全体が可視になります。
注 –
パッケージを非大域ゾーンにインストールしようとすると失敗します。
|
true
|
true
|
false
|
この設定を持つパッケージは、大域管理者が大域ゾーンだけにインストールできます。pkgadd コマンドを実行すると、パッケージの内容が大域ゾーンに完全にインストールされます。パッケージパラメータの値がこのように設定されている場合、パッケージの内容自体はどの非大域ゾーンにも提供されません。パッケージをインストール済みとして表示するために必要なパッケージインストール情報だけが、すべての非大域ゾーンにインストールされます。これにより、このパッケージに依存するほかのパッケージをインストールできるようになります。
パッケージの依存関係を検査できるように、パッケージはすべてのゾーンでインストール済みとして表示されます。
-
大域ゾーンでは、パッケージの内容全体が可視になります。
-
完全ルート非大域ゾーンでは、パッケージの内容全体が不可視になります。
-
非大域ゾーンが大域ゾーンからファイルシステムを継承する場合、このファイルシステムにインストールされているパッケージは非大域ゾーンで可視になります。パッケージで提供されるほかのすべてのファイルは、非大域ゾーン内では不可視になります。
たとえば、疎ルート非大域ゾーンは、特定のディレクトリを大域ゾーンと共有します。これらのディレクトリは読み取り専用です。疎ルート非大域ゾーンは、/platform ファイルシステムをほかのゾーンと共有します。もう 1 つの例は、起動するハードウェアだけに関連するファイルがパッケージで提供されている場合です。
注 –
パッケージを非大域ゾーンにインストールしようとすると失敗します。
|
SUNW_PKG_ALLZONES パッケージパラメータ
オプションの SUNW_PKG_ALLZONES パッケージパラメータには、パッケージのゾーン範囲が記述されます。このパラメータにより、次のことが定義されます。
SUNW_PKG_ALLZONES パッケージパラメータに指定可能な値は 2 つあります。その値は、true および false です。デフォルト値は false です。このパラメータが設定されていない場合か、または true および false 以外の値に設定されている場合には、値 false が使用されます。
すべてのゾーンでパッケージのバージョンとパッチの改訂レベルが同一で「なければならない」パッケージでは、SUNW_PKG_ALLZONES パラメータを true に設定することをお勧めします。たとえば Solaris 10 など、特定の Solaris カーネルに依存した機能を提供するすべてのパッケージでも、このパラメータを true に設定することをお勧めします。パッケージに適用するパッチの SUNW_PKG_ALLZONES パラメータは、インストール済みパッケージに設定されている値と同じ値に設定する必要があります。このパラメータを true に設定しているパッケージのパッチ改訂レベルは、すべてのゾーンで一致していなければなりません。
他社製パッケージや Sun コンパイラなど、特定の Solaris カーネルに依存しない機能を提供するパッケージでは、このパラメータを false に設定することをお勧めします。このパラメータを false に設定しているパッケージの場合は、そのパッチのパラメータも false に設定する必要があります。このパラメータを false に設定しているパッケージの場合は、各ゾーンのパッケージバージョンまたはパッチ改訂レベルが異なっていてもかまいません。たとえば、2 つの非大域ゾーンにインストールされている Web サーバーのバージョンは、一致していなくてもかまいません。
SUNW_PKG_ALLZONES パッケージパラメータの値については、次の表で説明します。
表 25–2
SUNW_PKG_ALLZONES パッケージパラメータの値
値
|
説明
|
false
|
このパッケージは、大域ゾーンから大域ゾーンだけ、または大域ゾーンから大域ゾーンおよびすべての非大域ゾーンにインストールできます。また、任意の非大域ゾーンから同じ非大域ゾーンにもインストールできます。
-
大域管理者は、パッケージを大域ゾーンだけにインストールできます。
-
大域管理者は、パッケージを大域ゾーンおよびすべての非大域ゾーンにインストールできます。
-
ゾーン管理者は、パッケージを非大域ゾーンにインストールできます。
パッケージを大域ゾーンから削除しても、ほかのゾーンからそのパッケージは削除されません。パッケージは非大域ゾーンごとに削除できます。
-
パッケージを大域ゾーンにインストールする必要はありません。
-
パッケージをいずれかの非大域ゾーンにインストールする必要はありません。
-
パッケージはすべてのゾーンで同一である必要はありません。ゾーンごとにパッケージのバージョンが異なっていてもかまいません。
-
パッケージは、すべてのゾーンで暗黙的に共有されていないソフトウェアを提供します。これは、パッケージがオペレーティングシステムに固有ではないことを意味します。アプリケーションレベルのソフトウェアの大半がこのカテゴリに属します。たとえば、StarSuite 製品や Web サーバーがこれに該当します。
|
true
|
パッケージを大域ゾーンにインストールする場合、すべての非大域ゾーンにもインストールする必要があります。パッケージを大域ゾーンから削除する場合、すべての非大域ゾーンからも削除する必要があります。
-
パッケージをインストールする場合、大域ゾーンにインストールする必要があります。その後、パッケージはすべての非大域ゾーンに自動的にインストールされます。
-
パッケージのバージョンは、すべてのゾーンで一致している必要があります。
-
パッケージは、すべてのゾーンで暗黙的に共有されているソフトウェアを提供します。パッケージは、すべてのゾーンで暗黙的に共有されるソフトウェアのバージョンに依存します。パッケージは、すべての非大域ゾーンで可視である必要があります。これには、カーネルモジュールも含まれます。
パッケージ全体をすべての非大域ゾーンにインストールすることを要求することで、これらのパッケージを使用して、大域ゾーンにインストールされるパッケージの依存関係を非大域ゾーンから解決できます。
-
大域管理者だけがパッケージをインストールできます。ゾーン管理者が非大域ゾーンにパッケージをインストールすることはできません。
|
SUNW_PKG_HOLLOW パッケージパラメータ
SUNW_PKG_HOLLOW パッケージパラメータは、パッケージがすべてのゾーンにインストールされ、かつすべてのゾーンで同一であることが求められる場合、そのパッケージをすべての非大域ゾーン内で可視にするべきかどうかを定義します。
SUNW_PKG_HOLLOW パッケージパラメータは、2 つの値 true、false のいずれかを取ります。
-
SUNW_PKG_HOLLOW が設定されていないか、または true および false 以外の値に設定されている場合、値 false が使用されます。
-
SUNW_PKG_ALLZONES が false に設定されている場合、SUNW_PKG_HOLLOW パラメータは無視されます。
-
SUNW_PKG_ALLZONES が false に設定されている場合、SUNW_PKG_HOLLOW を true に設定することはできません。
SUNW_PKG_HOLLOW パッケージパラメータ値については、次の表で説明します。
表 25–3
SUNW_PKG_HOLLOW パッケージパラメータ値
値
|
説明
|
false
|
これは「hollow」パッケージではありません。
-
大域ゾーンにインストールする場合、すべての非大域ゾーンでパッケージ内容およびインストール情報が要求されます。
-
このパッケージの提供するソフトウェアは、すべての非大域ゾーンで可視でなければなりません。たとえば、truss コマンドを提供するパッケージがこれに該当します。
-
現在の SUNW_PKG_ALLZONES パッケージパラメータ設定に適用される制限を除き、追加の制限は定義されません。
|
true
|
これは「hollow」パッケージです。
-
パッケージの内容はどの非大域ゾーンにも提供されません。ただし、すべての非大域ゾーンでパッケージのインストール情報が求められます。
-
このパッケージの提供するソフトウェアは、すべての非大域ゾーンで可視であってはいけません。たとえば、大域ゾーンでのみ機能するカーネルドライバやシステム構成ファイルがこれに該当します。この設定により、実際にパッケージデータをインストールしなくても、非大域ゾーンが、大域ゾーンにのみインストールされるパッケージの依存関係を解決することが可能になります。
-
インストール中のパッケージに依存するほかのパッケージにより、このパッケージが依存関係の検査目的ですべてのゾーンにインストールされたと認識されます。
-
このパッケージ設定には、SUNW_PKG_ALLZONES を true に設定するために定義されたすべての制限が含まれます。
-
大域ゾーン内で、パッケージはインストール済みとして認識され、パッケージのすべての構成要素がインストールされます。パッケージのインストール時に、ディレクトリの作成、ファイルのインストール、およびクラス操作とほかのスクリプトが、必要に応じて実行されます。
-
非大域ゾーン内で、パッケージはインストール済みとして認識されますが、パッケージの構成要素は 1 つもインストールされません。パッケージのインストール時に、ディレクトリの作成、ファイルのインストール、およびクラス操作やほかのインストールスクリプトは実行されません。
-
パッケージが大域ゾーンから削除される場合、パッケージは完全にインストールされていたと認識されます。パッケージの削除時に、該当するディレクトリおよびファイルが削除され、クラス操作またはほかのインストールスクリプトが実行されます。
|
SUNW_PKG_THISZONE パッケージパラメータ
SUNW_PKG_THISZONE パッケージパラメータは、パッケージを現在のゾーン (大域ゾーン、非大域ゾーンのいずれか) だけにインストールする必要があるかどうかを定義します。SUNW_PKG_THISZONE パッケージパラメータに設定可能な値は 2 つあります。その値は、true および false です。デフォルト値は false です。
SUNW_PKG_THISZONE パッケージパラメータの値については、次の表で説明します。
表 25–4
SUNW_PKG_THISZONE パッケージパラメータの値