Solaris 10 1/06: Содержание этой главы было полностью пересмотрено.
В этой главе описывается поддержка операционной системы Solaris с установленными зонами. В ней представлена информация о добавлении пакетов и исправлений в операционную систему в глобальной зоне и во все установленные неглобальные зоны. Также в этой главе приводятся процедуры удаления пакетов и исправлений. Материалы этой главы дополняют существующую документацию по установке и исправлениям Solaris. Для получения дополнительной информации см. "Solaris 10 Release and Installation Collection" и руководство System Administration Guide: Basic Administration.
В этой главе рассматриваются следующие темы:
Новые функции и возможности использования пакетов и исправлений при установке зон
Применение исправлений в системе Solaris с установленными зонами
Удаление исправлений в системе Solaris с установленными зонами
Solaris 10 1/06: Начиная с версии Solaris 10, эта глава была заменена и отражает текущее поведение команд пакетов и исправлений в системе с установленными неглобальными зонами.
Solaris 10 6/06: Информация о параметрах пакета SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE была пересмотрена. См. Обзор средств пакетов и исправлений и Параметры пакетов.
Solaris 10 6/06 и более поздних версий: Для получения информации о регистрации системы или об использовании Sun Connection (ранее Sun Update Connection) для управления обновлениями программного обеспечения см. Sun Connection hub on BigAdmin.
Solaris 10 8/07 и более поздних версий:
При использовании команды patchadd для добавления исправления в пакет, установленный с помощью команды pkgadd с параметром -G, параметр -G для команды patchadd больше не требуется.
Добавлена таблица, описывающая последствия выполнения команд pkgadd, pkgrm, patchadd и patchrm в системе с неглобальными зонами в различных состояниях. См. Влияние состояния зоны на операции с исправлениями и пакетами.
Добавлены пояснения по взаимодействию команды patchadd-G и переменной pkginfo. См. Совместное использование команды patchadd -G и переменной pkginfo в системе с установленными зонами.
Добавлена информация о применении исправлений с отложенной активацией. См. Solaris 10 8/07: Применение исправлений с отложенной активацией.
Удалена информация об параметре -G команды pkgrm.
Solaris 10 5/08 и более поздние версии обновления: EOF в PatchPro. Поддержка PatchPro, в котором использовалась база данных исправлений и средств установки исправлений для исправления программного обеспечения в глобальных и неглобальных зонах, прекращена в сентябре 2007 года. Для получения информации о текущем процессе см. Sun xVM Ops Center.
Solaris 10 5/08: Несмотря на то что эта информация добавлена в версии Solaris 10 5/08, она относится ко всем системам Solaris 10.
Для регистрации системы Solaris см. https://inventory.sun.com/inventory/. Чтобы получить информацию об использовании SunTM Inventory для регистрации оборудования, программного обеспечения и операционных систем, см. Sun Inventory Information Center.
Если Sun xVM Ops Center используется для организации, обновления и администрирования систем в вычислительном центре, для получения информации по регистрации программного обеспечения в Sun xVM Ops Center см. Sun xVM Information Center.
Solaris 10 10/09: Параллельное применение исправлений является дополнением к стандартным возможностям Solaris 10 для работы с исправлениями. Для выпусков ранее Solaris 10 10/09 исправления поставляются в виде пакета с уровнем изменений 119254-66 или выше (SPARC) и уровнем изменений 119255-66 или выше (x86). См. разделы Solaris 10 10/09: Уменьшение времени на применение исправлений в зонах посредством параллельной обработки и Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..
Полный список новых функций Solaris 10 и описание версий Solaris приведены в Solaris 10 What’s New.
Средства пакетов Solaris используются при управлении средой зон. Глобальный администратор может обновить систему до новой версии Solaris. При этом обновляются как глобальные, так и неглобальные зоны.
Для обновления системы, включающей в себя неглобальные зоны, в глобальной зоне используется стандартная интерактивная программа установки Solaris Live Upgrade или собственная программа установки JumpStart. Для зон с zonepath на ZFS действуют следующие ограничения:
Solaris Live Upgrade в системах с zonepath на ZFS поддерживается, начиная с версии Solaris 10 10/08.
Для модернизации системы может использоваться только Solaris Live Upgrade.
Администратор зоны может использовать средства пакетов с целью управления любым программным обеспечением, установленным в неглобальной зоне, в рамках, описанных в настоящем документе.
При установке зон применяются следующие общие принципы:
Глобальный администратор может осуществлять управление программным обеспечением в каждой зоне в системе.
Управление корневой файловой системой для неглобальной зоны может осуществляться из глобальной зоны с помощью средств пакетов и исправлений Solaris. Средства пакетов и исправлений Solaris поддерживаются в неглобальной зоне и служат для управления пакетными, автономными или сторонними продуктами.
Средства пакетов и исправлений могут использоваться для среды, поддерживающей зоны. Эти средства обеспечивают установку в неглобальной зоне пакета или исправления, уже установленного в глобальной зоне.
Параметр пакета SUNW_PKG_ALLZONES определяет область действия зоны для пакета. Этот параметр задает тип зоны, в которой можно установить отдельный пакет. Для получения дополнительной информации об этом параметре см. Параметр пакета SUNW_PKG_ALLZONES.
Параметр пакета SUNW_PKG_HOLLOW определяет видимость пакета, если этот пакет требуется установить во всех зонах, где он должен быть идентичным. Для получения информации об этом параметре см. Параметр пакета SUNW_PKG_HOLLOW.
Параметр пакета SUNW_PKG_THISZONE определяет необходимость установки пакета только в текущей зоне. Для получения информации об этом параметре см. Параметр пакета SUNW_PKG_THISZONE.
Пакеты, не определяющие значения параметров пакета зоны, содержат значение по умолчанию false.
Информация о пакете, видимая из неглобальной зоны, соответствует файлам, установленным в этой зоне с использованием средств пакетов и исправлений Solaris. Информация о пакете синхронизируется с каталогами inherit-pkg-dir.
Изменение (например, добавление исправления или пакета в глобальную зону) можно распространить на все зоны. Эта функция обеспечивает соответствие данных глобальной зоны и всех неглобальных зон.
Команды пакетов позволяют добавлять, удалять и модифицировать пакеты. Команды исправлений позволяют добавлять и удалять исправления.
При выполнении определенных операций с пакетами и исправлениями зона временно блокируется для других операций этого типа. Перед продолжением администратор системы также может подтвердить запрашиваемую операцию.
При установке неглобальной зоны полностью копируется только определенное подмножество пакетов Solaris, установленных в глобальной зоне. Например, большая часть пакетов, содержащих ядро Solaris, в неглобальной зоне не требуется. Все неглобальные зоны неявно совместно используют это ядро Solaris из глобальной зоны. Однако даже в том случае, если необходимость в данных пакета отсутствует или они не используются в неглобальной зоне, в этой зоне может потребоваться информация об установке пакета в глобальной зоне. Эта информация обеспечивает правильное соотношение неглобальных зон с глобальной зоной.
Параметры пакетов определяют распределение и видимость их содержимого в системе с установленными неглобальными зонами. Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. При необходимости системные администраторы могут проверить эти настройки пакета для проверки возможности его применения при использовании или удалении пакета в среде зоны. Для просмотра значений этих параметров используется командаpkgparam. Для получения дополнительной информации о параметрах см. Параметры пакетов. Инструкции по использованию приведены в Проверка параметров пакета в системе с установленными зонами.
Для получения информации о характеристиках и параметрах пакетов см. справочную страницу pkginfo(4). Для получения информации о выводе значений параметров пакетов см. справочную страницу pkgparam(1).
При генерации исправления для какого-либо пакета параметры должны иметь те же значения, что и исходный пакет.
Каждый пакет, который должен быть интерактивным, т. е. содержать сценарий запроса, добавляется только в текущую зону. Этот пакет не распространяется на другие зоны. При добавлении интерактивного пакета в глобальную зону этот пакет обрабатывается как в случае добавления с помощью команды pkgadd с параметром -G. Для получения дополнительной информации об этом параметре см. Добавление пакетов в зоны.
Синхронизация программного обеспечения, установленного в неглобальных зонах, с программным обеспечением, установленным в глобальной зоне, должна выполняться в максимально возможном объеме. Это позволяет свести к минимуму сложности, связанные с управлением системой с несколькими установленными зонами.
Для достижения этой цели при добавлении или удалении пакетов в глобальной зоне средства пакетов обеспечивают соблюдение следующих правил:
Если пакет в настоящее время не установлен ни в глобальной зоне, ни в какой-либо неглобальной зоне, то установка этого пакета возможна:
только в глобальной зоне, если 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.
В следующей таблице описываются последствия использования команд pkgadd, pkgrm, patchadd и patchrm в системе с неглобальными зонами в различных состояниях.
Следует отметить, что для версии Solaris 10 5/08 в описание установленного состояния, представленное в таблице, внесены некоторые изменения.
Состояние зоны |
Влияние на операции с пакетами и исправлениями |
---|---|
Настроена |
Возможен запуск средств исправлений и пакетов. Программное обеспечение еще не установлено. |
Установлена |
Возможен запуск средств исправлений и пакетов. Во время операций применения исправлений или работы с пакетами зона переводится из установленного состояния в новое внутреннее состояние "смонтирована". После применения исправления зона возвращается в установленное состояние. Следует отметить, что сразу после завершения работы команды zoneadm -z имя_зоны install зона также переводится в установленное состояние. Для зоны в установленном состоянии, которая никогда не загружалась, невозможно применение исправлений или запуск команд работы с пакетами. Зона должна быть загружена в состояние выполнения по крайней мере однажды. После загрузки зоны в состояние выполнения и перевода обратно в установленное состояние командой zoneadm halt можно выполнять команды применения исправлений и работы с пакетами. |
Готова |
Возможен запуск средств исправлений и пакетов. |
Выполняется |
Возможен запуск средств исправлений и пакетов. |
Неполная |
В этом состоянии находится зона, установленная или удаленная с помощью команды zoneadm. Использование средств исправлений и пакетов невозможно. Перевод зоны в состояние, допускающее использование этих средств, также невозможен. |
Для добавления пакетов в систему Solaris с установленными зонами используется системное средство pkgadd, описанное на справочной странице pkgadd(1M).
Для добавления пакета только в глобальную зону используется средство 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.
Для добавления пакета в указанную неглобальную зону администратор зоны выполняет утилиту pkgadd без параметров. Применяются следующие условия:
Средство pkgadd позволяет добавлять пакеты только в неглобальную зону, в которой она используется.
Пакет не может оказывать влияние на области зоны, используемые совместно с глобальной зоной.
Для пакета должно быть установлено значение SUNW_PKG_ALLZONES=false.
Утилитой pkgadd выполняются следующие действия:
Перед добавлением пакета в базе данных пакетов неглобальной зоны проверяются зависимости пакета. Если требуемые пакеты не установлены, проверка зависимостей невозможна. Система уведомляет администратора неглобальной зоны и выводит запрос на продолжение. Проверка завершается неуспешно в любом из следующих случаев.
Любой компонент пакета оказывает влияние на любую область зоны, используемую совместно с глобальной зоной.
Для пакета задано SUNW_PKG_ALLZONES=true.
Пакет добавляется в зону.
База данных пакетов в зоне обновляется.
Удаление пакетов в системе 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.
Пакет удаляется из зоны.
База данных пакетов в зоне обновляется.
Характеристики пакетов в системе с установленными зонами определяются параметрами пакетов SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW и SUNW_PKG_THISZONE. Эти параметры необходимы для управления пакетами в системе с установленными неглобальными зонами.
В приведенной ниже таблице перечислены четыре допустимых сочетания для настройки параметров пакета. Комбинации настроек, не указанные в этой таблице, недопустимы, и в случае их выбора установка пакета невозможна.
Убедитесь в настройке всех трех параметров пакета. Значения всех трех параметров пакета указывать не обязательно. Средства пакетов интерпретируют отсутствие параметра пакета зоны как значение false, однако это значительно затрудняет установку пакета. Настройка всех трех параметров позволяет точно определить требуемое поведение средств при установке или удалении пакета.
Таблица 24–1 Допустимые значения параметров пакета
Дополнительный параметр пакета SUNW_PKG_ALLZONES определяет область действия зоны пакета. Этот параметр определяет следующее:
необходимость установки пакета во всех зонах;
требования к идентичности пакета во всех зонах.
Параметр пакета SUNW_PKG_ALLZONES имеет два допустимых значения. Это значения true и false. Значение по умолчанию – false. Если этот параметр не установлен или имеет значение, отличное от true или false, используется значение false.
Параметр SUNW_PKG_ALLZONES должен иметь значение true для пакетов, которые во всех зонах должны относиться к одной версии пакета и уровню изменений исправления. Для любого пакета, функциональность которого зависит от конкретного ядра Solaris, например Solaris 10, этот параметр должен иметь значение true. Для любого исправления пакета значение параметра SUNW_PKG_ALLZONES должно быть таким же, как и в установленном пакете, к которому применяется исправление. Уровень изменения исправления для любого пакета, для которого этот параметр имеет значение true, должен быть одинаковым во всех зонах.
Для пакетов, функциональность которых не зависит от конкретного ядра Solaris, например сторонних пакетов или компиляторов Sun, этот параметр должен иметь значение false. Любое исправление для пакета, для которого этот параметр имеет значение false, также должен иметь значение false для этого параметра. Версия пакета или уровень изменения исправления для любого пакета, для которого этот параметр имеет значение false, могут различаться в зависимости от зоны. Например, две неглобальные зоны имеют различные версии установленного веб-сервера.
Значения параметра пакета SUNW_PKG_ALLZONES описаны в следующей таблице.
Таблица 24–2 Значения параметра пакета SUNW_PKG_ALLZONES
Параметр пакета SUNW_PKG_HOLLOW определяет видимость пакета в какой-либо неглобальной зоне, если этот пакет должен быть установлен как идентичный во всех зонах.
Параметр пакета SUNW_PKG_HOLLOW имеет два допустимых значения: true и false.
Если значение параметра SUNW_PKG_HOLLOW не задано или параметр имеет значение, отличное от true или false, используется значение false.
Если параметр SUNW_PKG_ALLZONES имеет значение false, то параметр SUNW_PKG_HOLLOW игнорируется.
Если параметр SUNW_PKG_ALLZONES имеет значение false, то параметр SUNW_PKG_HOLLOW не может иметь значение true.
Значения параметра пакета SUNW_PKG_HOLLOW описаны в следующей таблице.
Таблица 24–3 Значения параметра пакета SUNW_PKG_HOLLOW
Параметр пакета SUNW_PKG_THISZONE определяет необходимость установки пакета только в текущей, глобальной или неглобальной зоне. Параметр пакета SUNW_PKG_THISZONE имеет два допустимых значения. Это значения true и false. Значение по умолчанию – false.
Значения параметра пакета SUNW_PKG_THISZONE описаны в следующей таблице.
Таблица 24–4 Значения параметра пакета SUNW_PKG_THISZONE
Средство pkginfo, описанное на справочной странице pkginfo(1), поддерживает запросы базы данных программных пакетов в системе Solaris с установленными зонами. Для получения информации о базе данных см. База данных продуктов.
В глобальной зоне средство pkginfo может использоваться только для запроса базы данных программных пакетов в неглобальной зоне. Средство pkginfo может быть использовано в неглобальной зоне для выполнения запросов к базе данных программных пакетов только в этой неглобальной глобальной зоне.
Как правило, исправление включает следующие компоненты.
Информация об исправлении:
идентификация исправления по версии и идентификатору исправления;
возможности применения (тип, версия и архитектура операционной системы);
зависимости, например требования и старые версии;
свойства, например необходимость последующей перезагрузки;
один или несколько пакетов для применения исправления, каждый из которых содержит следующее:
версию пакета для применения исправлений;
информацию об исправлении, например идентификатор, старые версии и требования;
один или несколько компонентов пакета для применения исправления.
При использовании команды patchadd для применения исправления возможность его применения к данной системе определяется по информации исправления. Если исправление определяется как неприменимое, оно не используется. Также во всех зонах системы проверяются зависимости исправления. Если какие-либо зависимости не разрешаются, исправление не применяется. В частности, это возможно в случае, если уже установлена последняя версия исправления.
Проверяется каждый пакет, содержащий исправление. Если пакет не установлен ни в одной зоне, он исключается из проверки, и по отношению к нему исправление не применяется.
В случае разрешения всех зависимостей исправление применяется по отношению ко всем пакетам, установленным в любой зоне. Также обновляются базы данных пакетов и исправлений.
Версии Solaris 10 3/05 – Solaris 10 11/06: Если пакет установлен с параметром pkgadd -G или с параметром pkginfo SUNW_PKG_THISZONE=true, применение исправления для пакета возможно только с использованием параметра patchadd - G. В версии Solaris 8/07 это ограничение отсутствует.
Начиная с исправлений 119254-41 и 119255-41, утилиты установки исправлений patchadd и patchrm используют другой способ применения исправлений. Это изменение оказывает влияние на установку этих исправлений в любой системе Solaris 10. Эти исправления с отложенной активацией обеспечивают более качественную обработку большого объема изменений, возникающих в результате применения исправлений, например исправлений ядра, связанных с Solaris 10, начиная с версии Solaris 10 3/05.
Применение исправлений с отложенной активацией требует наличия файловой системы lofs для обеспечения стабильности работающей системы. При применении исправления к работающей системе система lofs обеспечивает стабильность в ходе выполнения процесса применения исправления. Эти объемные исправления ядра всегда требуют перезагрузки, однако теперь эта необходимость перезагрузки позволяет активировать изменения, внесенные lofs. Файл "Readme" исправления содержит инструкции с описанием требований по перезагрузке.
В случае использования неглобальных зон или отключенной "lofs" при установке или удалении исправлений с отложенной активацией необходимо учитывать следующее:
Для этой операции с исправлением требуется остановка всех неглобальных зон. Неглобальные зоны должны быть остановлены до применения исправления.
Для исправлений с отложенной активацией должна использоваться файловая система, смонтированная в петлевом режиме (lofs). В системах, в которых выполняется Sun Cluster 3.1 или Sun Cluster 3.2, система lofs, вероятнее всего, отключена вследствие ограничений функциональных возможностей HA-NFS. Поэтому перед установкой исправления с отложенной активацией необходимо включить систему lofs путем удаления или закомментирования следующей строки в файле /etc/system:
exclude:lofs |
Затем перезагрузите систему и установите исправление. После завершения операции установки исправления восстановите или раскомментируйте соответствующую строку файла /etc/system. Затем для возврата в нормальный режим работы следует перезагрузить систему.
Использование Solaris Live Upgrade для управления исправлениями позволяет предотвратить проблемы, связанные с применением исправлений в работающей системе. Solaris Live Upgrade может уменьшить время простоя, вызванное применением исправления, и минимизировать риски за счет предоставления возможности нейтрализации ошибок в случае возникновения проблем. Исправление может быть применено для неактивной загрузочной среды при работающей системе, а если в новой загрузочной среде будут обнаружены проблемы, возможен возврат к исходной среде. См. раздел Upgrading a System With Packages or Patches в Solaris 10 Installation Guide: Solaris Live Upgrade and Upgrade Planning.
Применение исправлений в параллельном режиме является дополнением к стандартным возможностям Solaris 10 для работы с исправлениями. Данная функция улучшает производительность при применении исправлений в зонах благодаря одновременному внедрению исправлений в неглобальных зонах в параллельном режиме.
Для выпусков ранее Solaris 10 10/09 данная функция поставляется в виде пакета исправлений уровня изменений 119254-66 или выше revision (SPARC) и уровня изменений 119255-66 или выше (x86).
Максимальное число неглобальных зон для применения исправлений в параллельном режиме указывается в новом файле настройки для patchadd — /etc/patch/pdo.conf . Уровень изменений 66 или выше данного исправления работоспособен для всех инструментов автоматизации уровня исправлений систем Solaris 10 и выше, например Sun xVM Ops Center.
Сначала исправления применяются в глобальной зоне. При завершении ввода исправлений в глобальной зоне производится одновременное применение исправлений для неглобальных зон, количество которых указывается в параметре num_proc=. Максимально возможное число может быть в 1,5 раза больше количества активных процессоров , но не больше действительного числа неглобальных зон в системе.
Пример:
Количество активных процессоров: 4
Настройка параметра num_proc=6
Если количество неглобальных зон в системе больше данного числа, исправления в первых 6 зонах вносятся параллельно, а затем после завершения обработки первой группы выполняется применение исправлений для оставшихся неглобальных зон.
Использование Solaris Live Upgrade, а также новых исправлений для управления применением исправлений обеспечивает возврат к исходному состоянию при возникновении проблем. Исправление может быть применено для неактивной загрузочной среды при работающей системе, а если в новой загрузочной среде будут обнаружены проблемы, возможен возврат к исходной среде.
См. раздел Solaris 10 10/09: Метод параллельного применения исправлений в неглобальных зонах..
Все исправления, применяемые на уровне глобальной зоны, применяются в отношении всех зон. При установке неглобальной зоны она находится на том же уровне исправления, что и глобальная зона. При применении исправления к глобальной зоне он аналогичным образом применяется ко всем неглобальным зонам. Это действие позволяет поддержать одинаковый уровень исправления во всех зонах.
Для добавления исправлений в систему с установленными зонами используется системное средство patchadd, описанное на справочной странице patchadd(1M).
Для добавления исправления в глобальную зону и во все неглобальные зоны глобальный администратор выполняет утилиту 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 не задано ни для одного пакета, то исправление применяется только по отношению к пакетам в неглобальной зоне.
Системное средство patchrm, описанное на справочной странице patchrm(1M), используется для удаления исправлений в системе с установленными зонами.
Глобальный администратор может использовать утилиту patchrm в глобальной зоне для удаления исправлений. Средство patchrm не позволяет удалять исправления только из глобальной зоны или только из некоторых неглобальных зон.
Администратор зоны может использовать утилиту patchrm в неглобальной зоне для удаления исправлений только из этой зоны. Исправления не могут оказывать влияние на совместно используемые области.
Соответствующая база данных пакетов, исправлений и продуктов для каждой зоны полностью охватывает все установленное программное обеспечение, доступное в зоне. Любые проверки зависимостей для установки дополнительного программного обеспечения или исправлений выполняются без обращения к базам данных других зон, за исключением случаев, когда пакет или исправление устанавливается или удаляется из глобальной зоны и одной или нескольких неглобальных зон. В этом случае необходимо обращение к базам данных соответствующих неглобальных зон.
Для получения дополнительной информации о базе данных см. справочную страницу pkgadm(1M).