系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

设置区域的软件包参数

SUNW_PKG_ALLZONESSUNW_PKG_HOLLOWSUNW_PKG_THISZONE 软件包参数定义安装了区域的系统上的软件包的特征。必须设置这些参数,以便可在安装了非全局区域的系统上管理软件包。

下表列出了设置软件包参数的四种有效组合。如果您选择的设置组合未在下表中列出,则这些设置无效并且将无法安装软件包。

请确保您已设置了全部三个软件包参数。可以将这三个软件包参数保留为空。软件包工具会将缺少的区域软件包参数解释成设置为 false,但是绝对不建议不设置这些参数。通过设置全部三个软件包参数,可以指定安装或删除软件包时,软件包工具应当表现的确切行为。

表 25–1 有效的软件包参数设置

SUNW_PKG_ALLZONES 设置

SUNW_PKG_HOLLOW 设置

SUNW_PKG_THISZONE 设置

软件包说明 

false 

false 

false 

此为软件包的缺省设置,该设置不会指定所有区域软件包参数的值。 

具有这些设置的软件包既可安装在全局区域中,也可安装在非全局区域中。  

  • 如果在全局区域中运行 pkgadd 命令,则会将软件包安装在全局区域和所有非全局区域中。

  • 如果在非全局区域中运行 pkgadd 命令,则仅将软件包安装在非全局区域中。

在这两种情况下,软件包的所有内容都会在其安装所在的所有区域中可见。 

false 

false 

true 

具有这些设置的软件包既可安装在全局区域中,也可安装在非全局区域中。如果在安装软件包之后创建新的非全局区域,则软件包不会传播到这些新的非全局区域。 

  • 如果在全局区域中运行 pkgadd 命令,则仅将软件包安装在全局区域中。

  • 如果在非全局区域中运行 pkgadd 命令,则仅将软件包安装在非全局区域中。

在这两种情况下,软件包的所有内容都会在其安装所在的区域中可见。 

true 

false 

false 

具有这些设置的软件包只能安装在全局区域中。运行 pkgadd 命令时,会将软件包安装在全局区域和所有非全局区域中。软件包的所有内容在所有区域中可见。


注 –

任何将软件包安装在非全局区域中的尝试都会失败。


true 

true 

false 

具有这些设置的软件包只能由全局管理员安装在全局区域中。运行 pkgadd 命令时,软件包的内容会全部安装在全局区域中。如果软件包的软件包参数设置为这些值,则不会在任何非全局区域中提供软件包内容本身。非全局区域中仅会安装使软件包显示为已安装状态所必需的软件包安装信息。这将安装依赖于该软件包的要安装的其他软件包。

为了检查软件包的相关性,该软件包显示为已安装在所有区域中。 

  • 在全局区域中,该软件包的所有内容均可见。

  • 在完全根非全局区域中,该软件包的所有内容均不可见。

  • 当非全局区域从全局区域中继承文件系统时,安装在该文件系统中的软件包在非全局区域中可见,而该软件包所提供的所有其他文件在非全局区域中均不可见。

    例如,稀疏根非全局区域 (sparse root non-global zone) 与全局区域共享某些目录。这些目录为只读目录。稀疏根非全局区域与其他区域共享 /platform 文件系统。另一个示例为软件包提供仅与引导硬件有关的文件。


注 –

任何将软件包安装在非全局区域中的尝试都会失败。