Solaris 10 1/06: Este capítulo se ha revisado por completo.
En él se describe cómo mantener el sistema operativo Solaris cuando hay zonas instaladas. Se incluye información sobre cómo añadir paquetes y parches al sistema operativo en la zona global y todas las zonas no globales instaladas. Asimismo, se explica el modo de eliminar paquetes y parches. El material de este capítulo complementa la documentación existente sobre instalación y parches de Solaris. Para obtener más información, consulte Solaris 10 Release and Installation Collection y la System Administration Guide: Basic Administration.
Este capítulo trata de los temas siguientes:
Novedades en los paquetes y parches cuando hay zonas instaladas
Descripción general de las herramientas de empaquetado y parches
Cómo aplicar parches en un sistema Solaris con zonas instaladas
Cómo eliminar parches de un sistema Solaris con zonas instaladas
Solaris 10 1/06: Este capítulo se ha editado de nuevo a partir de Solaris 10, para reflejar el comportamiento actual de los comandos de paquetes y parches en un sistema con zonas no globales instaladas.
Solaris 10 6/06: Se ha revisado la información sobre los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE. Consulte Descripción general de las herramientas de empaquetado y parches e Información de parámetros de paquetes.
Solaris 10 6/06 y versiones posteriores: para obtener información sobre cómo registrar el sistema o utilizar Sun Connection (conocido anteriormente como Sun Update Connection) para administrar las actualizaciones de software, consulte Sun Connection hub on BigAdmin.
Solaris 10 8/07 y versiones posteriores:
Cuando se utiliza el comando patchadd para añadir un parche a un paquete instalado utilizando el comando pkgadd con la opción -G, ya no se necesita la opción -G para patchadd.
Se ha añadido una tabla que describe qué ocurre cuando se utilizan los comandos pkgadd, pkgrm, patchadd y patchrm en un sistema con zonas no globales en varios estados. Consulte Cómo afecta el estado de la zona a las operaciones de paquetes y parches.
Se ha añadido una clasificación de la interacción de patchadd -G y la variable pkginfo. Consulte Interacción de patchadd -G y la variable pkginfo en un sistema con zonas.
Se ha incorporado información sobre los parches de activación diferida. Consulte Solaris 10 8/07: parches de activación diferida.
Se ha eliminado información sobre la opción -G para el comando pkgrm.
Solaris 10 5/08 y versiones de actualización posteriores: Fin de archivo de PatchPro. En septiembre de 2007 finalizó la admisión de PatchPro, que utilizaba las herramientas de parche y bases de datos de parches para modificar el software instalado en zonas globales y no globales. Para obtener información sobre el proceso que se lleva acabo actualmente, consulte Sun xVM Ops Center.
Solaris 10 5/08: Aunque se haya incorporado en Solaris 10 5/08, esta información es válida para todos los sistemas Solaris 10.
Para registrar su sistema operativo Solaris, visite https://inventory.sun.com/inventory/. Para obtener información sobre cómo utilizar Sun Inventory para registrar el hardware, el software y los sistemas operativos, consulte Sun Inventory Information Center.
Si utiliza Sun xVM Ops Center para proveer, actualizar y administrar los sistemas del centro de datos, consulte Sun xVM Information Center para obtener información sobre cómo registrar el software con Sun xVM Ops Center.
Solaris 10 10/09: la aplicación de parches en paralelo a zonas es una mejora de las utilidades de parches de Solaris 10 estándar. Para las versiones anteriores a Solaris 10 10/09, el parche se entrega en el parche de utilidades para parches, 119254-66 o revisión posterior (SPARC) y 119255-66 o revisión posterior (x86). Consulte Solaris 10 10/09: aplicación de parches a zonas en paralelo para reducir su tiempo de aplicación y Solaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo. Consulte también Uso de la actualización tras conexión como solución para aplicar parches, un método recomendado utilizado para actualizar rápidamente parches en un sistema con zonas.
Para ver una lista completa de las nuevas funciones de Solaris 10 y una descripción de las versiones de Solaris, consulte Novedades de Oracle Solaris 10 9/10.
Las herramientas de empaquetado de Solaris se utilizan para administrar el entorno de zonas. El administrador global puede actualizar el sistema a una nueva versión de Solaris, que actualiza tanto las zonas globales como las no globales.
El programa Actualización automática de Solaris, el programa de instalación interactiva estándar de Solaris o el programa de instalación JumpStart personalizado pueden utilizarse en la zona global para actualizar un sistema que incluya zonas no globales. Para una zona con zonepath en ZFS, se aplican las siguientes restricciones:
A partir de Solaris 10 10/08, los sistemas con zonepath en el ZFS admiten Actualización automática de Solaris.
Sólo se puede actualizar el sistema mediante Actualización automática de Solaris.
Para obtener más información, consulte Uso de Actualización automática de Oracle Solaris para migrar o actualizar un sistema con zonas (Solaris 10 10/08) de Guía de administración de Oracle Solaris ZFS.
El administrador de zona puede utilizar las herramientas de empaquetado para administrar el software instalado en una zona no global, dentro de los límites que se describen en este documento.
Cuando hay zonas instaladas, se aplican los siguientes principios generales:
El administrador global puede administrar el software en cada zona del sistema.
El sistema de archivos raíz para una zona no global puede administrarse desde la zona global utilizando las herramientas de empaquetado y parches de Solaris. Las herramientas de empaquetado y parches de Solaris se admiten en la zona no global para administrar productos de varios paquetes (empaquetados), independientes (sin empaquetar) o de terceros.
Las herramientas de empaquetado y parches funcionan en un entorno habilitado para las zonas. Las herramientas permiten instalar también en una zona no global un paquete o parche instalado en la zona global.
El parámetro de paquete SUNW_PKG_ALLZONES define el ámbito de zona de un paquete. El ámbito determina el tipo de zona en el que se puede instalar un paquete individual. Para obtener más información sobre este parámetro, consulte Parámetro de paquete SUNW_PKG_ALLZONES.
El parámetro de paquete SUNW_PKG_HOLLOW define la visibilidad de un paquete si es necesario que dicho paquete esté instalado en todas las zonas y sea idéntico en todas las zonas. Para obtener información sobre este parámetro, consulte Parámetro de paquetes SUNW_PKG_HOLLOW.
El parámetro de paquete SUNW_PKG_THISZONE define si un paquete debe instalarse sólo en la zona actual. Para obtener información sobre este parámetro, consulte Parámetro de paquete SUNW_PKG_THISZONE.
Los paquetes que no definen valores para los parámetros de zona están configurados con el valor false de forma predeterminada.
La información de paquetes visible desde una zona no global es coherente con los archivos que se han instalado en dicha zona utilizando las herramientas de paquetes y parches de Solaris. La información de paquetes se mantiene sincronizada con los directorios de inherit-pkg-dir.
Puede forzarse un cambio para todas las zonas, por ejemplo un paquete o parche añadido en la zona global. Esta función mantiene la coherencia entre la zona global y cada zona no global.
Los comandos de paquetes pueden añadir, eliminar e interrogar paquetes. Los comandos de parches pueden añadir y eliminar parches.
Mientras se llevan a cabo determinadas operaciones de paquetes y parches, una zona se bloquea temporalmente para las demás operaciones de este tipo. El sistema también puede configurar una operación solicitada con el administrador antes de continuar.
Cuando se instala una zona no global, sólo se repite por completo un subconjunto de los paquetes Solaris instalados en la zona global. Por ejemplo, en una zona no global no se necesitan muchos paquetes que contienen el núcleo de Solaris. Todas las zonas no globales comparten de forma implícita el mismo núcleo de Solaris de la zona global. Sin embargo, aunque no se requieran los datos de un paquete o no se utilicen en una zona no global, saber que un paquete está instalado en la zona global podría serle útil para una zona no global. La información permite a las dependencias de paquetes de las zonas no globales resolverse correctamente con la zona global.
Los paquetes presentan parámetros que controlan cómo se distribuye y se hace visible el contenido en un sistema con zonas no globales instaladas. Los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE definen las características de los paquetes en un sistema con zonas instaladas. Si es preciso, los administradores del sistema pueden comprobar esta configuración de parámetros de paquete para verificar la aplicabilidad del paquete cuando se aplica o elimina un paquete en un entorno de zona. El comando pkgparam puede utilizarse para ver los valores para estos parámetros. Para obtener más información sobre estos parámetros, consulte Información de parámetros de paquetes. Consulte Comprobación de la configuración de los parámetros de paquetes en un sistema con zonas instaladas para obtener las instrucciones de uso.
Si desea información sobre las características y los parámetros de los paquetes, consulte la página del comando man pkginfo(4) Para obtener información sobre cómo mostrar los valores de parámetros de paquetes, consulte la página del comando man pkgparam(1).
Cuando se genera un parche para un paquete, los parámetros deben tener los mismos valores que el paquete original.
Cualquier paquete que deba ser interactivo (es decir, que tenga una secuencia de solicitud), se añada sólo a la zona actual. El paquete no se propaga a ninguna otra zona. Si se añade un paquete interactivo a la zona global, el paquete se trata como si se estuviera añadiendo utilizando el comando pkgadd con la opción -G. Para obtener más información sobre esta opción, consulte Cómo añadir paquetes en zonas.
Se recomienda instalar el software en las zonas no globales de modo que se obtenga la máxima sincronización con el software instalado en la zona global. Esta práctica minimiza la dificultad de administrar un sistema con varias zonas instaladas.
Con esta finalidad, las herramientas de paquetes aplican las siguientes reglas cuando añaden o eliminan paquetes en la zona global.
Si el paquete no está instalado en la zona global ni en ninguna zona no global, puede instalarse:
Sólo en la zona global, si SUNW_PKG_ALLZONES=false
Sólo en la zona actual (global), si SUNW_PKG_THISZONE=true
En la zona global y todas las zonas no globales
Si el paquete está instalado sólo en la zona global:
El paquete puede instalarse en todas las zonas no globales.
El paquete puede eliminarse de la zona global.
Si un paquete está instalado en la zona global y sólo en un subconjunto de las zonas no globales:
SUNW_PKG_ALLZONES debe configurarse como false.
El paquete puede instalarse en todas las zonas no globales. Las instancias existentes en cualquier zona no global se actualizan a la revisión que se está instalando.
El paquete puede eliminarse de la zona global.
El paquete puede eliminarse de la zona global y de todas las zonas no globales.
Si un paquete está instalado en la zona global y en todas las zonas no globales, puede eliminarse de la zona global y de todas las zonas no globales.
Con estas reglas se garantiza que:
Los paquetes instalados en la zona global se instalen sólo en la zona global, o en la zona global y todas las zonas no globales.
Los paquetes instalados en la zona global y también en cualquier zona no global sean los mismos en todas las zonas.
Las operaciones de paquetes que es posible llevar a cabo en una zona no global son:
Si un paquete no está instalado en la zona no global, puede instalarse sólo si SUNW_PKG_ALLZONES=false.
El paquete puede instalarse en la zona actual (no global), si SUNW_PKG_THISZONE=true.
Si un paquete está instalado en la zona no global:
El paquete puede instalarse en la instancia del paquete sólo si SUNW_PKG_ALLZONES=false.
El paquete puede eliminarse de la zona no global sólo si SUNW_PKG_ALLZONES=false.
En la tabla siguiente se describe qué ocurre cuando se utilizan los comandos pkgadd, pkgrm, patchadd y patchrm en un sistema con zonas no globales en varios estados.
Las revisiones relativas a la descripción del estado de instalada se han efectuado en la tabla correspondiente a la versión Solaris 10 5/08.
Estado de zona |
Efecto en las operaciones de paquetes y parches |
---|---|
Configurada |
Pueden ejecutarse herramientas de paquetes y parches. Todavía no se ha instalado ningún software. |
Instalada |
Pueden ejecutarse herramientas de paquetes y parches. Durante las operaciones de empaquetado o aplicación de parches, el sistema mueve una zona del estado de instalada al nuevo estado interno de montada. Una vez completada la aplicación de parches, la zona vuelve al estado de instalada. Inmediatamente después de haberse completado zoneadm - z zonename install, la zona también pasa al estado de instalada. No se pueden aplicar parches ni ejecutar comandos de empaquetado a una zona con el estado de instalado que no se haya iniciado nunca. La zona debe iniciarse en el estado de ejecución como mínimo una vez. Tras haber iniciado una zona al menos una vez, y después adquirido de nuevo el estado de instalada mediante zoneadm halt, se pueden aplicar parches y ejecutar comandos de empaquetado. |
Lista |
Pueden ejecutarse herramientas de paquetes y parches. |
Ejecutándose |
Pueden ejecutarse herramientas de paquetes y parches. |
Incompleta |
Zona que instala o elimina zoneadm. No es posible utilizar las herramientas de paquetes y parches. Las herramientas no pueden colocar la zona en el estado adecuado para utilizar las herramientas. |
La utilidad del sistema pkgadd que se describe en la página del comando man pkgadd(1M) permite añadir paquetes en un sistema Solaris con zonas instaladas.
La utilidad pkgadd puede utilizarse con la opción -G en la zona global para añadir el paquete sólo a la zona global. El paquete no se propaga a ninguna otra zona. Si SUNW_PKG_THISZONE=true, no es necesario que utilice la opción -G. Si SUNW_PKG_THISZONE=false, la opción -G lo modificará.
Si ejecuta la utilidad pkgadd en la zona global, se aplican las siguientes acciones.
La utilidad pkgadd permite añadir un paquete:
Sólo en la zona global, a menos que el paquete esté configurado como SUNW_PKG_ALLZONES=true
En la zona global y todas las zonas no globales
Sólo en las zonas no globales, si el paquete ya está instalado en la zona global
Sólo en la zona actual, si SUNW_PKG_THISZONE=true
La utilidad pkgadd no puede añadir un paquete:
En ningún subconjunto de las zonas no globales
En todas las zonas no globales, a menos que el paquete ya esté instalado en la zona global
Si la utilidad pkgadd se ejecuta sin la opción -G ni SUNW_PKG_THISZONE=false, el paquete especificado se añade a todas las zonas de modo predeterminado. El paquete no se marca como instalado sólo en la zona global.
Si la utilidad pkgadd se ejecuta sin la opción -G y SUNW_PKG_THISZONE=true, el paquete especificado se añade a la zona actual (global) de modo predeterminado. El paquete se marca como instalado sólo en la zona global.
Si se utiliza la opción -G, la utilidad pkgadd añade el paquete especificado sólo a la zona global. El paquete se marca como instalado sólo en la zona global. El paquete no se instala cuando se instala una zona no global.
Para añadir un paquete a la zona global y todas las zonas no globales, ejecute la utilidad pkgadd en la zona global. Como administrador global, ejecute pkgadd sin la opción -G.
Puede añadirse un paquete a la zona global y todas las zonas no globales independientemente del área a la que se aplica el paquete.
La utilidad pkgadd lleva a cabo los pasos siguientes:
Las dependencias del paquete se comprueban en la zona global y en todas las zonas no globales. Si en alguna zona no se instalan los paquetes necesarios, falla la comprobación de las dependencias. El sistema lo notifica al administrador global, a quien se le pregunta si desea continuar.
El paquete se añade a la zona global.
Se actualiza la base de datos del paquete de la zona global.
El paquete se añade a cada zona no global y se actualiza la base de datos de la zona global.
Se actualiza la base de datos del paquete en cada zona no global.
Para añadir un paquete sólo en la zona global, como administrador global en la zona global, ejecute la utilidad pkgadd con la opción -G solamente.
Puede añadirse un paquete a la zona global si se cumplen las condiciones que se detallan a continuación:
El contenido del paquete no afecta a ningún área de la zona global que se comparte con alguna zona no global.
El paquete está configurado como SUNW_PKG_ALLZONES=false.
La utilidad pkgadd lleva a cabo los pasos siguientes:
Si el contenido del paquete afecta a algún área de la zona global que está compartida con alguna zona no global, o si el paquete está configurado como SUNW_PKG_ALLZONES=true, pkgadd fallará. El mensaje de error indica que el paquete debe añadirse a la zona global y todas las zonas no globales.
Las dependencias de paquetes se comprueban sólo en la zona global. Si no están instalados los paquetes necesarios, la dependencia fallará. El sistema lo notifica al administrador global, a quien se le pregunta si desea continuar.
El paquete se añade a la zona global.
Se actualiza la base de datos del paquete de la zona global.
La información del paquete de la zona global se anota para indicar que el paquete está instalado sólo en la zona global. Si se instala una zona no global en el futuro, este paquete no se instalará.
Para añadir un paquete que ya está instalado en la zona global en todas las zonas no globales, debe eliminar el paquete de la zona global y reinstalarlo en todas las zonas.
Debe seguir estos pasos para añadir un paquete que ya está instalado en la zona global en todas las zonas no globales:
En la zona global, utilice el comando pkgrm para eliminar el paquete.
Añada el paquete sin utilizar la opción -G.
Para añadir un paquete en una zona no global específica, ejecute la utilidad pkgadd, sin opciones, como administrador de zona. Se aplican las condiciones siguientes:
La utilidad pkgadd sólo puede añadir paquetes en la zona no global en la que se utiliza la utilidad.
El paquete no puede afectar a ningún área de la zona que esté compartida desde la zona global.
El paquete debe estar configurado como SUNW_PKG_ALLZONES=false.
La utilidad pkgadd lleva a cabo los pasos siguientes:
Se comprueban las dependencias de los paquetes en la base de datos del paquete de la zona no global antes de añadir el paquete. Si no están instalados los paquetes necesarios, la dependencia fallará. El sistema lo notifica al administrador de la zona no global, a quien se le pregunta si desea continuar. La comprobación falla si se cumplen una de las condiciones siguientes:
Cualquier componente del paquete afecta a un área de la zona que está compartida desde la zona global.
El paquete está configurado como SUNW_PKG_ALLZONES=true.
El paquete se añade a la zona.
Se actualiza la base de datos del paquete en la zona.
La utilidad pkgrm que se describe en la página del comando man pkgrm(1M) permite eliminar paquetes de un sistema Solaris con zonas instaladas.
Cuando se utiliza la utilidad pkgrm en la zona global, se aplican las acciones siguientes.
pkgrm puede eliminar un paquete de la zona global y de todas las zonas no globales, o sólo de la zona global cuando el paquete sólo está instalado en la zona global.
pkgrm no puede eliminar un paquete sólo de la zona global si el paquete también está instalado en una zona no global, o eliminar un paquete de un subconjunto de las zonas no globales.
Tenga en cuenta que un paquete sólo lo puede eliminar de una zona no global un administrador de zona que trabaje en dicha zona y si se cumplen las siguientes condiciones:
El paquete no afecta a ningún área de la zona no global que se comparte desde la zona global.
El paquete está configurado como SUNW_PKG_ALLZONES=false.
Para eliminar un paquete de la zona global y todas las zonas no globales, ejecute la utilidad pkgrm en la zona global como administrador global.
Puede eliminarse un paquete de la zona global y todas las zonas no globales independientemente del área a la que se aplica el paquete.
La utilidad pkgrm lleva a cabo los pasos siguientes:
Las dependencias del paquete se comprueban en la zona global y en todas las zonas no globales. Si falla la comprobación de las dependencias, pkgrm fallará. El sistema lo notifica al administrador global, a quien se le pregunta si desea continuar.
El paquete se elimina de cada zona no global.
Se actualiza la base de datos del paquete en cada zona no global.
El paquete se elimina de la zona global.
Se actualiza la base de datos del paquete de la zona global.
Como administrador de zona, utilice la utilidad pkgrm en una zona no global para eliminar un paquete. Se aplican las siguientes limitaciones:
pkgrm sólo puede eliminar paquetes de la zona no global.
El paquete no puede afectar a ningún área de la zona que esté compartida desde la zona global.
El paquete debe estar configurado como SUNW_PKG_ALLZONES=false.
La utilidad pkgrm lleva a cabo los pasos siguientes:
Las dependencias se comprueban en la base de datos del paquete de la zona no global. Si falla la comprobación de las dependencias, pkgrm fallará y se enviará una notificación al administrador de zona. La comprobación falla si se cumplen una de las condiciones siguientes:
Cualquier componente del paquete afecta a un área de la zona que está compartida desde la zona global.
El paquete está configurado como SUNW_PKG_ALLZONES=true.
El paquete se elimina de la zona.
Se actualiza la base de datos del paquete en la zona.
Los parámetros de paquetes SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW y SUNW_PKG_THISZONE definen las características de los paquetes en un sistema con zonas instaladas. Deben establecerse estos parámetros para que puedan administrarse los paquetes en un sistema con zonas no globales instaladas.
La siguiente tabla muestra cuatro combinaciones válidas para establecer los parámetros de los paquetes. Si decide establecer combinaciones que no aparecen en la siguiente tabla, esa configuración no será válida y el paquete no se instalará.
Asegúrese de establecer los tres parámetros de los paquetes. Puede dejar en blanco los tres parámetros de los paquetes. Las herramientas de paquetes consideran los parámetros de paquetes de las zonas que no se han configurado como si se hubieran establecido en false, pero no se recomienda dejar de configurar los parámetros. Al establecer los tres parámetros de los paquetes, se especifica el comportamiento que las herramientas de los paquetes deben mostrar cuando se instala o se elimina un paquete.
Tabla 25–1 Configuración válida de los parámetros de paquetes
El parámetro de paquete SUNW_PKG_ALLZONES describe el ámbito de zona de un paquete. Este parámetro define lo siguiente:
Si se requiere la instalación de un paquete en todas las zonas
Si es necesario que un paquete sea idéntico en todas las zonas
El parámetro de paquete SUNW_PKG_ALLZONES puede adoptar dos valores: true y false. El valor predeterminado es false. Si este parámetro no se configura o se configura con un valor que no sea true o false, se utilizará el valor false.
El parámetro SUNW_PKG_ALLZONES debe configurarse como true para los paquetes que deben tener la misma versión de paquete y el mismo nivel de revisión de parche en todas las zonas. Cualquier paquete cuyas funciones dependan de un núcleo de Solaris concreto, por ejemplo, Solaris 10, debe tener este parámetro configurado como true. Cualquier parche de un paquete debe tener configurado el parámetro SUNW_PKG_ALLZONES con el mismo valor que el establecido en el paquete instalado al que se aplica el parche. El nivel de revisión del parche de cualquier paquete que configure este parámetro como true debe ser el mismo para todas las zonas.
Los paquetes que ofrecen funciones que no dependen de un núcleo de Solaris concreto, como paquetes de terceros o compiladores de Sun, deben tener este parámetro configurado como false. Cualquier parche de un paquete que defina este parámetro como false también debe configurar este parámetro como false. Tanto la versión del paquete como el nivel de revisión del parche de cualquier paquete que configure este parámetro como false pueden ser diferentes entre las zonas. Por ejemplo, dos zonas no globales podrían tener cada una una versión distinta de un servidor Web instalado.
Los valores del parámetro de paquete SUNW_PKG_ALLZONES se describen en la siguiente tabla.
Tabla 25–2 Valores del parámetro de paquete SUNW_PKG_ALLZONES
El parámetro de paquete SUNW_PKG_HOLLOW define si un paquete debe estar visible en una zona no global si se requiere que dicho paquete esté instalado y sea idéntico en todas las zonas.
El parámetro de paquete SUNW_PKG_HOLLOW tiene dos posibles valores: true o false.
Si SUNW_PKG_HOLLOW no se configura o se configura con un valor que no sea true o false, se utilizará el valor false.
Si SUNW_PKG_ALLZONES se configura como false, se ignorará el parámetro SUNW_PKG_HOLLOW.
Si SUNW_PKG_ALLZONES se configura como false, SUNW_PKG_HOLLOW no se puede configurar como true.
Los valores del parámetro de paquete SUNW_PKG_HOLLOW se describen en la siguiente tabla.
Tabla 25–3 Valores del parámetro de paquete SUNW_PKG_HOLLOW
El parámetro de paquete SUNW_PKG_THISZONE define si un paquete debe instalarse sólo en la zona actual, ya sea global o no. El parámetro de paquete SUNW_PKG_THISZONE puede adoptar dos valores: true y false. El valor predeterminado es false.
Los valores de parámetro de paquete SUNW_PKG_THISZONE se describen en la siguiente tabla.
Tabla 25–4 Valores del parámetro de paquete SUNW_PKG_THISZONE
La utilidad pkginfo que se describe en la página del comando man pkginfo(1) permite consultar la base de datos de paquetes de software en un sistema Solaris con zonas instaladas. Para obtener más información sobre la base de datos, consulte Base de datos de productos.
La utilidad pkginfo puede utilizarse en la zona global para consultar la base de datos del paquete de software sólo en la zona global. La utilidad pkginfo puede utilizarse en una zona no global para consultar la base de datos del paquete de software sólo en la zona no global.
En general, un parche incluye los siguientes componentes:
Información del parche:
Identificación, compuesta por el ID y la versión del parche
Aplicabilidad, es decir, el tipo de sistema operativo, la versión del sistema operativo y la arquitectura
Dependencias, como requires y obsoletes
Propiedades, como el requisito de reiniciar posteriormente
Uno o más paquetes a los que aplicar parches, en los que cada paquete contiene:
La versión del paquete a la que se pueden aplicar los parches
Información del parche, como el ID, obsoletes y requires
Uno o más componentes del paquete a los que se debe aplicar el parche
Cuando se utiliza el comando patchadd para aplicar un parche, la información del parche se utiliza para determinar si el parche se puede aplicar al sistema en ejecución. Si se determina que no es aplicable, el parche no se aplica. También se comprueban las dependencias del parche con respecto a todas las zonas del sistema. Si no se cumplen las dependencias necesarias, el parche no se aplica. Por ejemplo, en el caso de que ya haya instalada una versión posterior del parche.
Se comprueba cada paquete que contiene el parche. Si el paquete no está instalado en ninguna zona, se omite y no se le aplica el parche.
Si se cumplen todas las dependencias, se utilizan todos los paquetes del parche que se instalan en una zona para aplicar el parche al sistema. También se actualizan las bases de datos de paquetes y parches.
Solaris 10 3/05 a través de Solaris 10 11/06: si un paquete se instala con la opción pkgadd -G o tiene el parámetro pkginfo SUNW_PKG_THISZONE=true, sólo se puede aplicar el parche al paquete con patchadd - G. En la versión 8/07 de Solaris esta restricción se ha eliminado.
A partir de los parches 119254-41 y 119255-41, las utilidades de instalación de parches patchadd y patchrm se han modificado para cambiar el modo en que se administran determinados parches que ofrecen funciones. Esta modificación afecta a la instalación de estos parches en cualquier versión 10 de Solaris. Estos parches de activación diferida administran mejor el ámbito de gran tamaño de los cambios en los parches de funciones, como los parches del núcleo asociados con las versiones Solaris 10 posteriores a la versión Solaris 10 3/05.
Los parches de activación diferida utilizan el sistema de archivos en bucle (lofs) para garantizar la estabilidad del sistema en ejecución. Cuando se aplica un parche al sistema en ejecución, el sistema lofs conserva la estabilidad durante el proceso de aplicación del parche. Estos grandes parches de núcleo siempre han requerido un reinicio, pero ahora el reinicio necesario activa los cambios realizados por el sistema lofs. El parche README proporciona instrucciones sobre qué parches requieren un reinicio.
Si ejecuta zonas no globales o tiene el sistema lofs desactivado, tenga en cuenta lo siguiente cuando instale o elimine los parches de activación diferida:
Todas las zonas no globales deben estar detenidas para esta operación de parche. Debe detener la zona no global antes de aplicar el parche.
La aplicación de parches de activación diferida requiere el sistema de archivos en bucle (lofs). Es probable que los sistemas que ejecutan Sun Cluster 3.1 o Sun Cluster 3.2 tengan el sistema lofs desactivado a causa de las restricciones en las funciones de HA-NFS cuando lofs está activado. Por tanto, antes de instalar un parche de activación diferida, debe volver a activar el sistema de archivos en bucle eliminando o añadiendo comentarios a la siguiente línea del archivo /etc/system:
exclude:lofs |
A continuación, reinicie el sistema e instale el parche. Una vez completada la operación de instalación del parche, restaure o elimine los comentarios de la misma línea del archivo /etc/system. A continuación, debe reiniciar para reanudar las operaciones normales.
El uso del programa Actualización automática de Solaris para administrar los parches puede evitar los problemas derivados de la aplicación de parches en un sistema en ejecución. La función Actualización automática de Solaris puede reducir el tiempo de inactividad inherente a la aplicación de parches, así como limitar los riesgos, al proporcionar la función de recuperación en caso de suceder un problema. Puede aplicar un parche a un entorno de inicio inactivo mientras el sistema está todavía en producción, e iniciar de nuevo al entorno de inicio original (BE) si se descubren problemas en el nuevo entorno de inicio. Consulte Actualización de un sistema con paquetes y revisiones de Guía de instalación de Oracle Solaris 10 9/10: Actualización automática de Solaris y planificación de la actualización.
La aplicación de parches en paralelo a zonas es una mejora a las utilidades de parches de Solaris 10 estándar, que comprenden el método admitido para aplicar parches a zonas no globales en el sistema Solaris 10. Esta función mejora el rendimiento de la aplicación de parches a zonas mediante la aplicación de parches a zonas no globales en paralelo.
Para las versiones anteriores a Solaris 10 10/09, esta función se entrega en el parche de utilidades para parches, 119254-66 o revisión posterior (SPARC) y 119255-66 o revisión posterior (x86).
El número máximo de zonas no globales a las que aplicar parches se establece se establece en un nuevo archivo de configuración para patchadd, /etc/patch/dop.conf. La revisión 66 o superior de este parche funciona para todos los sistemas Solaris 10 y un mayor nivel de herramientas de automatización de parches como Sun xVM Ops Center.
Los parches todavía se aplican, en primer lugar, a la zona global. Cuando se ha terminado de aplicar parches a la zona global, se aplican parches de forma conjunta a las zonas no globales establecidas en num_proc=. El número máximo es 1,5 veces el número de CPU en línea, hasta el número real de zonas no globales en el sistema.
Un ejemplo es:
El número de CPU en línea es 4
La opción es num_proc=6
Si hay más zonas no globales en el sistema, se aplicarán parches en paralelo a las 6 primeras; a continuación, se aplicarán parches al resto de zonas no globales cuando los procesos terminen de aplicar parches al primer grupo.
El uso de Actualización automática de Solaris, así como el parche nuevo para administrar la aplicación de parches proporciona la función de recuperación en caso de que suceda un problema. Puede aplicar un parche a un entorno de inicio inactivo mientras el sistema está todavía en producción, e iniciar de nuevo al entorno de inicio original (BE) si se descubren problemas en el nuevo entorno de inicio.
Consulte también Solaris 10 10/09: cómo aplicar parches a zonas no globales en paralelo.
Para actualizar rápidamente todos los paquetes de la zona, de tal manera que estos paquetes coincidan con lo se vería con una zona no global recién instalada en el host, las zonas se pueden separar mientras se aplican parches a la zona global y, a continuación, se pueden volver a conectar con la opción -U para que coincidan con el nivel de la zona global. Consulte Uso de la actualización tras conexión como solución para aplicar parches para obtener más información.
Todos los parches aplicados en el nivel de la zona global se aplican en todas las zonas. Cuando se instala una zona no global, se encuentra en el mismo nivel de parche que la zona global. Cuando se aplica un parche a la zona global, se aplica un parche de modo similar a todas las zonas no globales. Esta acción mantiene el mismo nivel de parche en todas las zonas.
La utilidad del sistema patchadd que se describe en la página del comando man patchadd(1M) se utiliza para añadir parches en un sistema con zonas instaladas.
Para añadir un parche en la zona global y todas las zonas no globales, ejecute patchadd como administrador global en la zona global.
Cuando se utiliza patchadd en la zona global, se aplican las siguientes condiciones:
La utilidad patchadd puede añadir los parches a la zona global y sólo a las zonas no globales. Ésta es la acción predeterminada.
La utilidad patchadd no puede añadir los parches sólo a la zona global o a un subconjunto de las zonas no globales.
Al añadir un parche a la zona global y todas las zonas no globales, no es necesario que tenga en cuenta si el parche afecta a áreas compartidas desde la zona global.
La utilidad patchadd lleva a cabo los pasos siguientes:
El parche se añade a la zona global.
Se actualiza la base de datos de parches en la zona global.
El parche se añade a cada zona no global.
Se actualiza la base de datos de parches en cada zona no global.
Cuando el administrador de zona utiliza patchadd en una zona no global, sólo lo puede utilizar para añadir parches en dicha zona. Es posible añadir un parche en una zona no global en los siguientes casos:
El parche no afecta a ningún área de la zona que se comparte desde la zona global.
Todos los paquetes del parche se configuran como SUNW_PKG_ALLZONES=false.
La utilidad patchadd lleva a cabo los pasos siguientes:
El parche se añade a la zona.
Se actualiza la base de datos de parches de la zona.
En la lista siguiente se especifica la interacción entre la opción -G y la variable SUNW_PKG_ALLZONES cuando se añade un parche en las zonas globales y no globales.
Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, se producirá un error y no podrá llevarse a cabo ninguna acción.
Si ningún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica sólo a los paquetes de la zona global.
Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica a los paquetes de todas las zonas.
Si algún paquete no tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica a los paquetes de todas las zonas pertinentes. Los paquetes que son sólo de la zona global se instalan únicamente en la zona global.
Si algún paquete tiene SUNW_PKG_ALLZONES=TRUE, se producirá un error y no podrá llevarse a cabo ninguna acción.
Si ningún paquete tiene SUNW_PKG_ALLZONES=TRUE, el parche se aplica sólo a los paquetes de la zona no global.
La utilidad del sistema patchrm que se describe en la página del comando man patchrm(1M) se utiliza para eliminar parches de un sistema con zonas instaladas.
Como administrador global, puede utilizar la utilidad patchrm de la zona global para eliminar los parches. La utilidad patchrm no puede eliminar parches sólo de la zona global ni de un subconjunto de las zonas no globales.
Como administrador de zona, puede utilizar la utilidad patchrm en una zona no global para eliminar parches sólo de dicha zona no global. Los parches no pueden afectar a las áreas compartidas.
La base de datos de registro de productos, paquetes y parches de cada zona describe todo el software instalado disponible en la zona. Todas las comprobaciones de dependencias para la instalación de software o parches adicionales se llevan a cabo accediendo a la base de datos de cualquier otra zona, a menos que se instale o elimine un paquete o un parche en la zona global y en una o más zonas no globales. En ese caso, debe accederse a las bases de datos de la zona no global pertinente.
Para obtener información sobre la base de datos, consulte la página del comando man pkgadm(1M).