JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Guía de instalación de Oracle Solaris 10 8/11: instalaciones JumpStart personalizadas y avanzadas
search filter icon
search icon

Información del documento

Prefacio

Parte I Utilización de JumpStart personalizada

1.  Dónde encontrar información sobre cómo planificar la instalación de Solaris

2.  JumpStart personalizada (información general)

3.  Preparación de instalaciones JumpStart personalizadas (tareas)

4.  Uso de las funciones opcionales de JumpStart personalizada (tareas)

5.  Creación de reglas y palabras clave de sondeo personalizadas (tareas)

6.  Realización de una instalación JumpStart personalizada (tareas)

7.  Instalación con JumpStart personalizada (ejemplos)

8.  JumpStart personalizada (referencia)

9.  Instalación de una agrupación raíz ZFS con JumpStart

Parte II Apéndices

A.  Resolución de problemas (tareas)

B.  Requisitos de empaquetado SVR4 adicionales (referencia)

Cómo evitar la modificación el sistema operativo actual

Utilización de rutas absolutas

Utilización del comando pkgadd -R

Información general acerca de las diferencias entre $PKG_INSTALL_ROOT y $BASEDIR

Directrices para escribir secuencias

Mantenimiento de compatibilidad de clientes sin disco

Verificación de paquetes

Cómo evitar la interacción del usuario cuando se realiza la instalación o actualización

Configuración de los parámetros de los paquetes para las zonas

Para obtener información de referencia

Glosario

Índice

Cómo evitar la modificación el sistema operativo actual

Si se cumplen los requisitos en esta sección, se mantendrá el sistema operativo que se está ejecutando en la actualidad sin modificar.

Utilización de rutas absolutas

Para que se realice la instalación de un sistema operativo con éxito, los paquetes deben reconocer y respetar correctamente los sistemas de archivos raíz (/) como un entorno de inicio inactivo de Actualización automática de Solaris.

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 del comando pkgadd. Los paquetes que contienen tanto rutas absolutas como relativas (reubicables) se pueden instalar también en un sistema de archivos raíz (/) alternativo. $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 el comando pkgadd para la instalación.

Utilización del comando pkgadd -R

Los paquetes instalados mediante el comando pkgadd -R o los que se eliminen con la opción pkgrm -R no deben modificar el sistema actualmente en ejecución. JumpStart personalizado, Actualización automática de Solaris, las zonas no globales y el cliente sin disco utilizan esta función.

Las secuencias de comandos incluidas en los paquetes que se instalen con el comando pkgadd -R o que se eliminen con el comando pkgrm -R no deben modificar el sistema 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 eliminar directorios sin un prefijo $PKG_INSTALL_ROOT.

La Tabla B-1 proporciona ejemplos de sintaxis de secuencias.

Tabla B-1 Ejemplos de sintaxis en secuencias de instalación

Tipo de secuencia
Sintaxis correcta
Sintaxis incorrecta
Fragmentos de sentencias "if" en el shell Bourne
if [ -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf ] ; then
if [ -f /etc/myproduct.conf ] ; \
 then
Eliminar un archivo
/bin/rm -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
/bin/rm -f /etc/myproduct.conf 
Cambiar un archivo
echo "test=no" > ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
echo "test=no" > \
/etc/myproduct.conf

Información general acerca de las diferencias entre $PKG_INSTALL_ROOT y $BASEDIR

$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 del comando pkgadd. Por ejemplo, si se ejecuta el siguiente comando, entonces $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 en relación con el entorno de inicio inactivo, pero no en relación con el directorio $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 el siguiente comando, ls se instala en /a/opt/sbin/ls, pero ls2 se instala como /a/sbin/ls2.

# pkgadd -R /a SUNWtest

Directrices para escribir secuencias

Las secuencias de procedimientos de paquetes deben ser independientes del sistema operativo que se esté ejecutando en la actualidad para evitar modificarlo. Las secuencias de procedimiento definen acciones que tienen lugar en instantes específicos durante la instalación o eliminación de paquetes. Se pueden crear cuatro secuencias de procedimiento con estos nombres predefinidos: preinstall, postinstall, preremove y postremove.

Tabla B-2 Directrices para crear secuencias

Directrices
Afecta al programa Actualización automática de Solaris
Afecta a zonas no globales
Las secuencias deben escribirse en el shell Bourne (/bin/sh). Éste es el intérprete que el comando pkgadd emplea para ejecutar las secuencias de procedimiento.
X
X
Estas secuencias no deben iniciar ni parar ningún proceso, ni depender de la salida de comandos, como ps o truss, que dependen del sistema operativo y transmiten información acerca del sistema actualmente en ejecución.
X
X
Las secuencias pueden usar otros comandos UNIX estándares como, por ejemplo, expr, cp, ls y otros comandos que faciliten el uso de las secuencias de comandos shell.
X
X
Todos los comandos que se ejecuten mediante una secuencia de comandos deben estar disponibles en todas las versiones, ya que los paquetes deben poder ejecutarse en todas las versiones. Por consiguiente, no se pueden usar comandos que se hayan agregado o eliminado en versiones de Solaris posteriores a la 8.

Para comprobar si una opción o un comando en concreto se puede usar en Solaris 8, 9 ó 10, consulte la versión específica de Solaris Reference Manual AnswerBook en http://www.oracle.com/technetwork/indexes/documentation/index.html.

X

Mantenimiento de compatibilidad de clientes sin disco

Los paquetes no deben ejecutar comandos incorporados en el propio paquete. El motivo es mantener la compatibilidad con clientes sin disco y evitar la ejecución de comandos que puedan necesitar bibliotecas compartidas que aún no se han instalado.

Verificación de paquetes

Todos los paquetes deben pasar la validación de pkgchk. Una vez creado un paquete, y antes de instalarlo, se debe verificar mediante el siguiente comando.

# pkgchk -d dir_name pkg_name
nombre_directorio
Especifica el nombre del directorio en el que reside el paquete.
nombre_paquete

Especifica el nombre del paquete.

Ejemplo B-1 Comprobación de un paquete

Después de crear un paquete, es necesario probarlo instalándolo en una ubicación alternativa del sistema de archivos raíz (/) mediante la opción -R nombre_directorio en pkgadd. Una vez instalado el paquete, se debe verificar su corrección mediante el comando pkgchk, como en este ejemplo.

# pkgadd -d . -R /a SUNWvxvm
# pkgchk -R /a SUNWvxvm

No se debe mostrar ningún error.

Ejemplo B-2 Comprobación de un paquete en /export/SUNWvxvm

Si un paquete existe en /export/SUNWvxvm, deberá emitir el comando siguiente:

# pkgchk -d /export SUNWvxvm

No se debe mostrar ningún error.

Otros comandos pueden comprobar el paquete cuando esta creando, modificando y eliminando archivos. Los comandos siguientes son algunos ejemplos.

# TEMPDIR=/a; export TEMPDIR
# truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \
2>&1 > /dev/null | grep -v O_RDONLY | grep -v \
'open("'${TEMPDIR}