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.