侧面和变量是在映像上设置的特殊属性,也是在软件包清单中的操作上设置的标记。将某一操作的侧面和变量标记值与映像中设置的侧面和变量值相比较,可确定是否安装该软件包操作。
每个侧面和变量标记都有一个名称和值。单个操作可以具有多个侧面和变量标记。具有多个侧面和变量标记的组件有多种,例如供开发者使用的特定于体系结构的头文件,或仅用于 SPARC 全局区域的组件。
大多数变量标记可以具有多个值。要安装指定了变量值的软件包,必须在映像上设置变量标记的值。arch 和 zone 变量是由创建映像和安装其初始内容的程序设置的。缺省情况下,debug.* 变量在映像中设置为 false。
在某一操作上设置的侧面标记只能具有值 true。如果在映像中将某一特定侧面值设置为 false,则不会安装指定了该侧面的所有文件或其他操作,并且将卸载指定了该侧面的当前已安装的文件。
以下算法介绍了在映像上设置的侧面和变量会如何影响是否安装特定操作。
始终会安装不带侧面或变量标记的操作。
仅当与侧面标记匹配的所有侧面或侧面模式在映像中都设置为 false 时,才不会安装带这些标记的操作。只要有任何侧面设置为 true 或未明确设置(true 为缺省值),就会安装该操作。
仅当所有变量标记的值与映像中设置的值相同时,才会安装带这些变量标记的操作。
如果侧面和变量都允许安装操作,则会安装带有这两种标记的操作。