Удаление пакетов в системе Solaris с установленными зонами осуществляется при помощи утилиты pkgrm, описанной на справочной странице pkgrm(1M).
В случае использования утилиты pkgrm в глобальной зоне применяются следующие правила.
Если пакет установлен только в глобальной зоне, средство pkgrm позволяет удалить пакет из глобальной зоны и из всех неглобальных зон, либо только из глобальной зоны.
Средство pkgrm не позволяет удалить пакет только из глобальной зоны, если этот пакет также установлен в неглобальной зоне, или удалить пакет из какого-либо подмножества неглобальных зон.
Следует отметить, что удаление пакета из неглобальной зоны может быть выполнено только администратором зоны, работающим в этой зоне, при соблюдении следующих условий.
Пакет не оказывает влияния на области неглобальной зоны, используемые совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=false.
Для удаления пакета из глобальной зоны и всех неглобальных зон глобальный администратор выполняет утилиту pkgrm в глобальной зоне.
Пакет может быть удален из глобальной зоны и всех неглобальных зон безотносительно области, на которую оказывает влияние этот пакет.
Утилитой pkgrm выполняются следующие действия.
В глобальной зоне и во всех неглобальных зонах проверяются зависимости пакета. При невозможности проверки зависимостей выполнение утилиты pkgrm также невозможно. Система уведомляет глобального администратора и выводит запрос на продолжение.
Пакет удаляется из каждой неглобальной зоны.
База данных пакетов обновляется в каждой неглобальной зоне.
Пакет удаляется из глобальной зоны.
База данных пакетов в глобальной зоне обновляется.
Для удаления пакета администратор зоны выполняет утилиту pkgrm в неглобальной зоне. Применяются следующие ограничения:
Средство pkgrm может использоваться только для удаления пакетов из неглобальной зоны.
Пакет не может оказывать влияние на области зоны, используемые совместно с глобальной зоной.
Для пакета должно быть установлено значение SUNW_PKG_ALLZONES=false.
Утилитой pkgrm выполняются следующие действия.
В базе данных пакетов неглобальной зоны выполняется проверка зависимостей. При невозможности проверки зависимостей выполнение утилиты pkgrm также невозможно, и система уведомляет об этом администратора зоны. Проверка завершается неуспешно в любом из следующих случаев.
Любой компонент пакета оказывает влияние на любую область зоны, используемую совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=true.
Пакет удаляется из зоны.
База данных пакетов в зоне обновляется.