大域ゾーンで適用されるすべてのパッチが、すべてのゾーンで適用されます。非大域ゾーンをインストールする際も、大域ゾーンと同じパッチレベルでパッチが適用されます。大域ゾーンにパッチを適用する際、すべての非大域ゾーンで同様にパッチが適用されます。この処理により、すべてのゾーンにわたって同じパッチレベルが維持されます。
patchadd(1M) のマニュアルページに記載されているように、patchadd システムユーティリティーを使用して、ゾーンがインストールされているシステムにパッチを追加できます。
パッチを大域ゾーンおよびすべての非大域ゾーンに追加するには、大域ゾーン内で大域管理者として patchadd を実行します。
大域ゾーンで patchadd を使用する場合、次の条件が両方適用されます。
patchadd ユーティリティーは、パッチを大域ゾーンおよびすべての非大域ゾーンだけに追加できます。これはデフォルトの動作です。
patchadd ユーティリティーは、パッチを大域ゾーンだけ、または非大域ゾーンの一部に追加することはできません。
パッチを大域ゾーンおよびすべての非大域ゾーンに追加する際、大域ゾーンから共有される領域にパッチが影響を及ぼすかどうかを意識する必要はありません。
patchadd ユーティリティーにより、次の手順が実行されます。
パッチが大域ゾーンに追加されます。
大域ゾーンのパッチデータベースが更新されます。
パッチが各非大域ゾーンに追加されます。
各非大域ゾーンのパッチデータベースが更新されます。
ゾーン管理者が非大域ゾーン内で patchadd を使用する場合、そのゾーンにパッチを追加する用途だけにコマンドを使用できます。次の場合に、パッチを非大域ゾーンに追加できます。
パッチが大域ゾーンから共有されるゾーンのどの領域にも影響を及ぼさない。
パッチ内部のパッケージすべてが SUNW_PKG_ALLZONES=false に設定されている。
patchadd ユーティリティーにより、次の手順が実行されます。
パッチがゾーンに追加されます。
ゾーンのパッチデータベースが更新されます。
次に、大域ゾーンおよび非大域ゾーンにパッチを追加する際の -G オプションと SUNW_PKG_ALLZONES 変数の相互作用について説明します。
SUNW_PKG_ALLZONES=TRUE に設定されているパッケージがある場合、この使用法の結果はエラーとなり、処理は行われません。
SUNW_PKG_ALLZONES=TRUE に設定されているパッケージがない場合は、大域ゾーンのパッケージだけにパッチが適用されます。
SUNW_PKG_ALLZONES=TRUE に設定されているパッケージがある場合は、すべてのゾーンにあるそれらのパッケージにパッチが適用されます。
SUNW_PKG_ALLZONES=TRUE に設定されていないパッケージがある場合は、該当するすべてのゾーンにあるそれらのパッケージにパッチが適用されます。「大域ゾーンのみ」のパッケージは、大域ゾーンだけにインストールされます。
SUNW_PKG_ALLZONES=TRUE に設定されているパッケージがある場合、この使用法の結果はエラーとなり、処理は行われません。
SUNW_PKG_ALLZONES=TRUE に設定されているパッケージがない場合は、非大域ゾーンのパッケージだけにパッチが適用されます。