在全局区域级别上应用的所有修补程序会在所有区域中应用。安装非全局区域后,该区域与全局区域处于同一修补程序级别。修补全局区域时,会对所有非全局区域进行类似的修补。此操作保持所有区域中的修补程序级别相同。
使用 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 设置,则修补程序仅应用于非全局区域中的软件包。