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