Un entorno de arranque inactivo es una copia del sistema operativo, no el sistema actualmente en ejecución. Un paquete que lo vayan a utilizar la Modernización automática de Solaris o el programa JumpStart personalizado debe cumplir los siguientes requisitos:
Permitir una instalación JumpStart personalizada o una modernización sin interacción del usuario
No modificar el sistema actualmente en ejecución, lo cual es necesario para utilizar la Modernización automática de Solaris
En la lista siguiente se enumeran los requisitos para la compatibilidad con un entorno de arranque inactivo.
Para que la instalación de un sistema operativo sea satisfactoria, los paquetes deben reconocer y respetar correctamente los especificadores de entorno de arranque inactivo.
Los paquetes pueden incluir rutas absolutas en su archivo pkgmap (mapa del paquete). Si dichos archivos existen, están escritos de forma relativa a la opción -R de la orden pkgadd. Los paquetes que contienen tanto rutas absolutas como relativas (reubicables) se pueden instalar también en una raíz alternativa (/). $PKG_INSTALL_ROOT se antepone tanto a los archivos absolutos como a los reubicables, de forma que todas las rutas se determinen correctamente cuando se utilice la orden pkgadd para la instalación.
Los paquetes instalados mediante la orden pkgadd -R o los que se supriman mediante la orden pkgrm -R no deben modificar el sistema actualmente en ejecución.
Las secuencias de procedimiento incluidas en los paquetes que se instalen con la orden pkgadd -R o que se supriman con la orden pkgrm -R no deben modificar el sistema actualmente en ejecución. Todas las secuencias de instalación utilizadas deben hacer referencia a los directorios o archivos con el prefijo indicado por la variable $PKG_INSTALL_ROOT. El paquete debe escribir todos los directorios y archivos con el prefijo $PKG_INSTALL_ROOT. El paquete no debe suprimir directorios sin un prefijo $PKG_INSTALL_ROOT. La Tabla G–2 proporciona ejemplos de sintaxis correcta para las secuencias.
Tabla G–2 Ejemplos de sintaxis en secuencias de instalación
$PKG_INSTALL_ROOT es la ubicación del sistema de archivos raíz (/) del equipo al que se va a agregar el paquete. Ésta se adjunta al argumento de -R de la orden pkgadd. Por ejemplo, si se ejecuta la siguiente orden, $PKG_INSTALL_ROOT se convierte en /a durante la instalación del paquete.
# pkgadd -R /a SUNWvxvm |
$BASEDIR señala al directorio base reubicable en el que se instalan los objetos de paquete reubicables. Sólo se instalan aquí los objetos reubicables. Los objetos no reubicables (aquéllos con rutas absolutas en el archivo pkgmap) se instalan siempre de forma relativa al entorno de arranque inactivo (/), pero no relativa al $BASEDIR vigente. Si un paquete no contiene objetos reubicables, se denomina paquete absoluto (o no reubicable) y $BASEDIR no está definida, ni está disponible para las secuencias de procedimientos de paquetes.
Por ejemplo, supongamos que el archivo pkgmap de un paquete tiene dos entradas:
1 f none sbin/ls 0555 root sys 3541 12322 1002918510 1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332 |
El archivo pkginfo tiene una especificación para $BASEDIR:
BASEDIR=/opt |
Si este paquete se instala con la siguiente orden, ls se instala en /a/opt/sbin/ls, pero ls2 se instala como /a/sbin/ls2.
# pkgadd -R /a SUNWtest |