大域ゾーンで -G オプションを指定して pkgadd ユーティリティーを使用すると、大域ゾーンだけにパッケージを追加できます。パッケージはほかのゾーンには伝達されません。SUNW_PKG_THISZONE=true の場合、-G オプションは不要です。SUNW_PKG_THISZONE=false の場合、-G オプションが優先されます。
大域ゾーン内で pkgadd ユーティリティーを実行する場合、次の操作が適用されます。
pkgadd ユーティリティーを使用して、パッケージを次の場所に追加できます。
大域ゾーンのみ (パッケージが SUNW_PKG_ALLZONES=true である場合を除く)
大域ゾーンとすべての非大域ゾーン
すべての非大域ゾーンのみ (パッケージが大域ゾーンにインストール済みの場合)
現在のゾーンのみ (SUNW_PKG_THISZONE=true の場合)
pkgadd ユーティリティーを使用して、パッケージを次の場所に追加することはできません。
非大域ゾーンの一部
すべての非大域ゾーン (パッケージが大域ゾーンにインストール済みの場合を除く)
pkgadd ユーティリティーを -G オプションを指定せずに実行し、かつ SUNW_PKG_THISZONE=false であった場合、指定されたパッケージはデフォルトですべてのゾーンに追加されます。パッケージに「大域ゾーンだけにインストール」されているというマークが付けられることはありません。
pkgadd ユーティリティーを -G オプションを指定せずに実行し、かつ SUNW_PKG_THISZONE=true であった場合、指定されたパッケージはデフォルトで現在のゾーン (大域ゾーン) に追加されます。パッケージには「大域ゾーンだけにインストール」されているというマークが付けられます。
-G オプションを指定する場合、pkgadd ユーティリティーは指定されたパッケージを大域ゾーンだけに追加します。パッケージには「大域ゾーンだけにインストール」されているというマークが付けられます。いずれかの非大域ゾーンがインストールされる場合、パッケージはインストールされません。
パッケージを大域ゾーンおよびすべての非大域ゾーンに追加するには、大域ゾーンで pkgadd ユーティリティーを実行します。大域管理者として、-G オプションを指定せずに pkgadd を実行します。
パッケージを大域ゾーンおよびすべての非大域ゾーンに追加する際、パッケージの影響を受ける領域について意識する必要はありません。
pkgadd ユーティリティーにより、次の手順が実行されます。
大域ゾーンおよび非大域ゾーン上でパッケージの依存関係が検査されます。必須のパッケージがどのゾーンにもインストールされていない場合、依存性の検査は失敗します。システムから大域管理者に対し、作業を続行するかどうかの問い合わせが行われます。
パッケージが大域ゾーンに追加されます。
大域ゾーンのパッケージデータベースが更新されます。
パッケージが各非大域ゾーンに追加され、大域ゾーン内のデータベースが更新されます。
各非大域ゾーンのパッケージデータベースが更新されます。
パッケージを大域ゾーンだけに追加するには、大域ゾーンの大域管理者になり、-G オプションだけを指定して pkgadd ユーティリティーを実行します。
次の条件を両方満たす場合に、パッケージを大域ゾーンに追加できます。
パッケージの内容が、いずれかの非大域ゾーンと共有されている大域ゾーンのどの領域にも影響を及ぼさない。
パッケージに SUNW_PKG_ALLZONES=false が設定されている。
pkgadd ユーティリティーにより、次の手順が実行されます。
パッケージの内容がいずれかの非大域ゾーンと共有されている大域ゾーンのいずれかの領域に影響を及ぼす場合、またはパッケージに SUNW_PKG_ALLZONES=true が設定されている場合、pkgadd は失敗します。パッケージを大域ゾーンおよびすべての非大域ゾーンに追加する必要があることを示すエラーメッセージが表示されます。
大域ゾーンだけでパッケージの依存関係が検査されます。必須のパッケージがインストールされていない場合、依存性の検査は失敗します。システムから大域管理者に対し、作業を続行するかどうかの問い合わせが行われます。
パッケージが大域ゾーンに追加されます。
大域ゾーンのパッケージデータベースが更新されます。
大域ゾーンのパッケージ情報に、このパッケージが大域ゾーンだけにインストールされることを示す注釈が付けられます。将来、非大域ゾーンがインストールされる場合、このパッケージはインストールされません。
大域ゾーンにすでにインストールされているパッケージをすべての非大域ゾーンに追加するには、大域ゾーンからそのパッケージを削除し、すべてのゾーンに再インストールする必要があります。
次の手順で、大域ゾーンにすでにインストールされているパッケージをすべての非大域ゾーンに追加します。
大域ゾーンで、pkgrm を使ってパッケージを削除します。
-G オプションを指定せずにパッケージを追加します。