Package Parameter Information (SVR4 Only)
Setting Package Parameters for Zones
The SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW,
and SUNW_PKG_THISZONE package parameters define the characteristics
of packages on a system with zones installed. These parameters must be set
so that packages can be administered on a system with non-global zones installed.
The following table lists the four valid combinations for setting package
parameters. If you choose setting combinations that are not listed in the
following table, those settings are invalid and the package will fail to install.
Ensure that you have set all three package parameters. You can leave
all three package parameters blank. The package tools interpret a missing
zone package parameter as if the setting were false, but
not setting the parameters is strongly discouraged. By setting all three
package parameters, you specify the exact behavior the package tools should
exhibit when installing or removing the package.
Table 24–1 Valid Package Parameter
Settings
SUNW_PKG_ALLZONES Setting
|
SUNW_PKG_HOLLOW Setting
|
SUNW_PKG_THISZONE Setting
|
Package Description
|
false
|
false
|
false
|
This is the default setting for packages that do not specify values
for all the zone package parameters.
A package with these settings can be installed in either the global
zone or a non-global zone.
-
If the pkgadd command is run in the global
zone, the package is installed in the global zone and in all non-global zones.
-
If the pkgadd command is run in a non-global
zone, the package is installed in the non-global zone only.
In both cases, the entire contents of the package is visible in all
zones where the package is installed.
|
false
|
false
|
true
|
A package with these settings can be installed in either the global
zone or a non-global zone. If new non-global zones are created after the
installation, the package is not propagated to these new non-global zones.
-
If the pkgadd command is run in the global
zone, the package is installed in the global zone only.
-
If the pkgadd command is run in a non-global
zone, the package is installed in the non-global zone only.
In both cases, the entire contents of the package is visible in the
zone where the package is installed.
|
true
|
false
|
false
|
A package with these settings can be installed in the global zone only.
When the pkgadd command is run, the package is installed
in the global zone and in all non-global zones. The entire contents of the
package is visible in all zones.
Note –
Any attempt to install the package in a non-global zone fails.
|
true
|
true
|
false
|
A package with these settings can only be installed in the global zone,
by the global administrator. When the pkgadd command is
run, the contents of the package is fully installed in the global zone. If
a package has the package parameters set to these values, the package content
itself is not delivered on any non-global zone. Only the package installation
information necessary to make the package appear to be installed is installed
on all non-global zones. This enables the installation of other packages to
be installed that depend on this package.
For package dependency checking purposes, the package appears to be
installed in all zones.
-
In the global zone, the entire contents of the package is
visible.
-
In whole root non-global zones, the entire contents of the
package is not visible.
-
When a non-global zone inherits a file system from the global
zone, a package installed in this file system is visible in a non-global
zone. All other files delivered by the package are not visible within the
non-global zone.
For example, a native sparse root non-global zone shares
certain directories with the global zone. These directories are read-only.
Sparse root non-global zones share the /platform file
system among others. Another example is packages that deliver files relevant
only to booting hardware.
Note –
Any attempt to install the package in a non-global zone fails.
|
SUNW_PKG_ALLZONES Package
Parameter
The optional SUNW_PKG_ALLZONES package parameter
describes the zone scope of a package. This parameter defines the following:
The SUNW_PKG_ALLZONES package parameter has two permissible
values. These values are true and false.
The default value is false. If this parameter is either
not set or set to a value other than true or false,
the value false is used.
The SUNW_PKG_ALLZONES parameter should be set to true for packages that must be the same package
version and patch revision level across all zones. Any package that delivers
functionality dependent on a particular Solaris kernel, for example, Solaris
10, should set this parameter to true. Any patch for a
package must set the SUNW_PKG_ALLZONESparameter to the
same value that is set in the installed package being patched. The patch revision
level for any package that sets this parameter to true must
be the same across all zones.
Packages that deliver functionality not dependent on a particular Solaris
kernel, such as third-party packages or Sun compilers, should set this parameter
to false. Any patch for a package that sets this parameter
to false must also set this parameter to false.
Both the package version or the patch revision level for any package that
sets this parameter to false can be different between zones.
For example, two non-global zones could each have a different version of a
web server installed.
The SUNW_PKG_ALLZONES package parameter values are
described in the following table.
Table 24–2
SUNW_PKG_ALLZONES Package
Parameter Values
Value
|
Description
|
false
|
This package can be installed from the global zone to the global zone
only, or to the global zone and to all non-global zones. The package can
also be installed from any non-global zone to the same non-global zone.
-
The global administrator can install the package on the global
zone only.
-
The global administrator can install the package on the global
zone and on all non-global zones.
-
The zone administrator can install the package on a non-global
zone.
If removed from the global zone, the package is not removed from other
zones. The package can be removed from individual non-global zones.
-
The package is not required to be installed on the global
zone.
-
The package is not required to be installed on any non-global
zone.
-
The package is not required to be identical across all zones.
Different versions of the package can exist on individual zones.
-
The package delivers software that is not implicitly shared
across all zones. This means that the package is not operating system-specific.
Most application-level software is in this category. Examples include the StarOfficeTM product or a web server.
|
true
|
If installed on the global zone, this package must also be installed
on all non-global zones. If removed from the global zone, the package must
also be removed from all non-global zones.
-
If the package is installed, it must be installed on the global
zone. The package is then automatically installed on all non-global zones.
-
The version of the package must be identical on all zones.
-
The package delivers software that is implicitly shared across
all zones. The package is dependent on the versions of software that are implicitly
shared across all zones. The package should be visible in all non-global zones.
Examples include kernel modules.
These packages allow the non-global
zone to resolve dependencies on packages that are installed in the global
zone by requiring that the entire package be installed on all non-global
zones.
-
Only the global administrator can install the package. A zone
administrator cannot install the package on a non-global zone.
|
SUNW_PKG_HOLLOW Package
Parameter
The SUNW_PKG_HOLLOW package parameter defines
whether a package should be visible in any non-global zone if that package
is required to be installed and be identical in all zones.
The SUNW_PKG_HOLLOW package parameter has two permissible
values, true or false.
-
If SUNW_PKG_HOLLOW is either not set or
set to a value other than true or false,
the value false is used.
-
If SUNW_PKG_ALLZONES is set to false,
the SUNW_PKG_HOLLOW parameter is ignored.
-
If SUNW_PKG_ALLZONES is set to false,
then SUNW_PKG_HOLLOW cannot be set to true.
The SUNW_PKG_HOLLOW package parameter values are
described in the following table.
Table 24–3
SUNW_PKG_HOLLOW Package
Parameter Values
Value
|
Description
|
false
|
This is not a “hollow” package:
-
If installed on the global zone, the package content and installation
information are required on all non-global zones.
-
The package delivers software that should be visible in all
non-global zones. An example is the package that delivers the truss command.
-
Other than the restrictions for the current setting of the SUNW_PKG_ALLZONES package parameter, no additional restrictions
are defined.
|
true
|
This is a “hollow” package:
-
The package content is not delivered on any non-global zone.
However, the package installation information is required on all non-global
zones.
-
The package delivers software that should not be visible in
all non-global zones. Examples include kernel drivers and system configuration
files that work only in the global zone. This setting allows the non-global
zone to resolve dependencies on packages that are installed only on the global
zone without actually installing the package data.
-
The package is recognized as being installed in all zones
for purposes of dependency checking by other packages that rely on this package
being installed.
-
This package setting includes all of the restrictions defined
for setting SUNW_PKG_ALLZONES to true.
-
In the global zone, the package is recognized as having been
installed, and all components of the package are installed. Directories are
created, files are installed, and class action and other scripts are run as
appropriate when the package is installed.
-
In a non-global zone, the package is recognized as having
been installed, but no components of the package are installed. No directories
are created, no files are installed, and no class action or other install
scripts are run when the package is installed.
-
When the package is removed from the global zone, the system
recognizes that the package was completely installed. Appropriate directories
and files are removed, and class action or other install scripts are run when
the package is removed.
|
SUNW_PKG_THISZONE Package Parameter
The SUNW_PKG_THISZONE package parameter defines
whether a package must be installed in the current zone, global or non-global,
only. The SUNW_PKG_THISZONE package parameter has two permissible
values. These values are true and false.
The default value is false.
The SUNW_PKG_THISZONE package parameter values are
described in the following table.
Table 24–4
SUNW_PKG_THISZONE Package
Parameter Values
Value
|
Description
|
false
|
-
If pkgadd is run in a non-global zone,
the package is installed in the current zone only.
-
If pkgadd is run in the global zone, the
package is installed in the global zone and also installed in all currently
installed non-global zones. In addition, the package will be propagated to
all future, newly installed non-global zones.
|
true
|
-
The package is installed in the current zone only.
-
If installed in the global zone, the package is not added
to any currently existing or yet-to-be-created non-global zones. This is the
same behavior that occurs when the -G option is specified
to pkgadd.
|