Синхронизация программного обеспечения, установленного в неглобальных зонах, с программным обеспечением, установленным в глобальной зоне, должна выполняться в максимально возможном объеме. Это позволяет свести к минимуму сложности, связанные с управлением системой с несколькими установленными зонами.
Для достижения этой цели при добавлении или удалении пакетов в глобальной зоне средства пакетов обеспечивают соблюдение следующих правил:
Если пакет в настоящее время не установлен ни в глобальной зоне, ни в какой-либо неглобальной зоне, то установка этого пакета возможна:
только в глобальной зоне, если SUNW_PKG_ALLZONES=false;
только в текущей (глобальной) зоне, если SUNW_PKG_THISZONE=true ;
в глобальной зоне и во всех неглобальных зонах.
Если пакет в настоящее время установлен только в глобальной зоне:
пакет может быть установлен во всех неглобальных зонах;
пакет может быть удален из глобальной зоны;
Если пакет в настоящее время установлен в глобальной зоне и только в подмножестве неглобальных зон:
параметр SUNW_PKG_ALLZONES должен иметь значение false ;
пакет может быть установлен во всех неглобальных зонах; существующие экземпляры пакета в любой неглобальной зоне обновляются до устанавливаемой версии;
пакет может быть удален из глобальной зоны;
пакет может быть удален из глобальной зоны и всех неглобальных зон.
Если пакет в настоящее время установлен в глобальной зоне и во всех неглобальных зонах, то этот пакет можно удалить из глобальной зоны и всех неглобальных зон.
Эти правила обеспечивают следующее:
Пакеты, установленные в глобальной зоне, устанавливаются только в глобальной зоне или в глобальной зоне и во всех неглобальных зонах.
Пакеты, установленные в глобальной зоне, а также в какой-либо неглобальной зоне, одинаковы для всех зон.
В неглобальной зоне допустимы следующие операции с пакетами:
если пакет в настоящее время не установлен в неглобальной зоне, то его можно установить только при SUNW_PKG_ALLZONES=false;
пакет может быть установлен в текущей (неглобальной) зоне, если SUNW_PKG_THISZONE=true.
Если пакет в настоящее время установлен в неглобальной зоне:
пакет может быть установлен вместо существующего экземпляра пакета только при SUNW_PKG_ALLZONES=false;
пакет может быть удален из неглобальной зоны только при SUNW_PKG_ALLZONES=false.