Keeping Zones in Sync
It is best to keep the software installed in the non-global zones in
sync with the software installed in the global zone to the maximum extent
possible. This practice minimizes the difficulty in administering a system with multiple installed zones.
To achieve this goal, the package tools enforce the following rules when adding
or removing packages in the global zone.
Package Operations Possible in the Global Zone
If the package is not currently installed in the global zone and
not currently installed in any non-global zone, the package can be installed:
Only in the global zone, if SUNW_PKG_ALLZONES=false
In the current zone only, which is the global zone in this case, if SUNW_PKG_THISZONE=true
In the global zone and all non-global zones
If the package is currently installed in the global zone only:
If a package is currently installed in the global zone and currently installed
in only a subset of the non-global zones:
SUNW_PKG_ALLZONES must be set to false.
The package can be installed in all non-global zones. Existing instances in any non-global zone are updated to the revision being installed.
The package can be removed from the global zone.
The package can be removed from the global zone and from all non-global zones.
If a package is currently installed in the global zone and currently installed
in all non-global zones, the package can be removed from the global zone
and from all non-global zones.
These rules ensure the following:
Packages installed in the global zone are either installed in the global zone only, or installed in the global zone and all non-global zones.
Packages installed in the global zone and also installed in any non-global zone are the same across all zones.
Package Operations Possible in a Non-Global Zone
The package operations possible in any non-global zone are:
If a package is not currently installed in the non-global zone, the package can be installed only if SUNW_PKG_ALLZONES=false.
The package can be installed in the current zone, which is the non-global zone in this case, if SUNW_PKG_THISZONE=true.
If a package is currently installed in the non-global zone: