JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Guía del desarrollador para la creación de paquetes de aplicaciones     Oracle Solaris 10 1/13 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Diseño de un paquete

2.  Creación de un paquete

3.  Mejora de las funciones de un paquete (tareas)

4.  Verificación y transferencia de un paquete

5.  Casos prácticos de creación de paquetes

6.  Técnicas avanzadas para la creación de paquetes

Especificación del directorio base

El archivo administrativo predeterminado

Familiarización con la incertidumbre

Uso del parámetro BASEDIR

Uso de directorios base paramétricos

Ejemplos: uso de directorios base paramétricos

El archivo pkginfo

El archivo pkgmap

Administración del directorio base

Posibilidad de reubicación

Recorrido de directorios base

Uso del parámetro BASEDIR

El archivo pkginfo

El archivo pkgmap

Ejemplo: secuencias de comandos de análisis que recorren un BASEDIR

La secuencia de comandos request

La secuencia de comandos checkinstall

Uso de rutas paramétricas relativas

El archivo pkginfo

El archivo pkgmap

Ejemplo: una secuencia de comandos request que recorra una ruta paramétrica relativa

Admisión de la reubicación en un entorno heterogéneo

Aproximación tradicional

Paquetes reubicables

Ejemplo: paquete reubicable tradicional

El archivo pkginfo

El archivo pkgmap

Paquetes absolutos

Ejemplo: paquete absoluto tradicional

El archivo pkgmap

Paquetes compuestos

Ejemplo: solución tradicional

El archivo pkginfo

El archivo pkgmap

Más allá de la tradición

Otra mirada a los paquetes compuestos

Cómo conseguir que los nombres de rutas absolutas tengan el aspecto de reubicables

Ejemplo: modificación de un archivo

Descripción

Implementación

Ejemplo

Ejemplo: creación de un nuevo archivo

Descripción

Implementación

Ejemplo

Ejemplo: un paquete compuesto

El archivo pkginfo

El archivo pkgmap

Creación de paquetes de instalación remota

Ejemplo: instalación en un sistema cliente

Ejemplo: instalación en un servidor o sistema autónomo

Ejemplo: montaje de sistemas de archivos compartidos

Paquetes de parches

La secuencia de comandos checkinstall

La secuencia de comandos preinstall

Secuencia de comandos de acción de clase

La secuencia de comandos postinstall

La secuencia de comandos patch_checkinstall

La secuencia de comandos patch_postinstall

Actualización de paquetes

La secuencia de comandos request

La secuencia de comandos postinstall

Creación de paquetes de archivo de clase

Estructura del directorio de paquetes de archivos

Palabras clave para admitir paquetes de archivo de clase

La utilidad faspac

Glosario

Índice

Especificación del directorio base

Puede usar diversos métodos para especificar dónde se instalará un paquete; es importante que se pueda cambiar la base de instalación dinámicamente en el tiempo de la instalación. Si se lleva a cabo correctamente, un administrador puede instalar varias versiones y varias arquitecturas sin problemas.

En esta sección se tratan en primer lugar los métodos habituales, seguidos de las aproximaciones que mejoran la instalación en sistemas heterogéneos.

El archivo administrativo predeterminado

Los administradores responsables de la instalación de los paquetes pueden usar los archivos de administración para controlar la instalación de los paquetes. Sin embargo, como diseñador de paquetes, debe conocer los archivos de administración y cómo un administrador puede modificar la instalación deseada del paquete.

Un archivo de administración indica al comando pkgadd si se debe efectuar alguna de las comprobaciones o solicitudes que normalmente realiza. En consecuencia, los administradores deben comprender completamente el proceso de instalación de un paquete y las secuencias de comandos implicadas antes de usar los archivos de administración.

Se distribuye un archivo administrativo predeterminado básico con el sistema operativo SunOS en /var/sadm/install/admin/default. Éste es el archivo que establece el nivel más básico de directiva de administración respecto a la instalación de productos de software. El archivo tiene este aspecto al distribuirlo:

#ident "@(#)default
1.4 92/12/23 SMI"    /* SVr4.0 1.5.2.1    */ 
mail=
instance=unique
partial=ask
runlevel=ask
idepend=ask
rdepend=ask
space=ask
setuid=ask
conflict=ask
action=ask
basedir=default

El administrador puede editar este archivo para establecer nuevos comportamientos predeterminados, o bien para crear un archivo de administración diferente y especificar su existencia mediante el uso de la opción -a en el comando pkgadd.

Es posible definir once parámetros en un archivo de administración, aunque no es necesario definirlos todos. Para obtener más información, consulte admin(4).

El parámetro basedir especifica cómo se derivará el directorio base cuando se instale un paquete. La mayoría de los administradores lo dejan como default, pero basedir se puede establecer con uno de los valores siguientes:


Nota - Si se llama al comando pkgadd con el argumento -a none, siempre pide al administrador un directorio base. Desafortunadamente, de este modo se configuran todos los parámetros del archivo con el valor predeterminado de quit, lo cual puede suponer problemas adicionales.


Familiarización con la incertidumbre

Un administrador tiene control sobre todos los paquetes que se instalan en un sistema mediante el uso de un archivo de administración. Desafortunadamente, el diseñador de paquetes proporciona a menudo un archivo administrativo alternativo predeterminado, independientemente de los deseos del administrador.

Los diseñadores de paquetes contienen en ocasiones un archivo de administración alternativo, por lo que ellos, no el administrador, controlan la instalación de un paquete. Debido a que la entrada basedir del archivo administrativo predeterminado anula los demás directorios base, ofrece un método sencillo para seleccionar el directorio base adecuado en el tiempo de la instalación. En todas las versiones del sistema operativo Oracle Solaris anteriores a la versión Solaris 2.5, se consideraba el método más sencillo para controlar el directorio base.

Sin embargo, es necesario que acepte los deseos del administrador respecto a la instalación del producto. La distribución de un archivo administrativo temporal predeterminado con el fin de controlar la instalación conduce a desconfianza por parte de los administradores. Debe usar las secuencias de comandos request y checkinstall para controlar estas instalaciones bajo la supervisión del administrador. Si la secuencia de comandos request implica fielmente al administrador en el proceso, la creación de paquetes de System V servirá a los diseñadores de paquetes y los administradores.

Uso del parámetro BASEDIR

El archivo pkginfo para cualquier paquete reubicable debe incluir un directorio base predeterminado en forma de entrada como la siguiente:

BASEDIR=absolute_path

Éste es únicamente el directorio base predeterminado; el administrador puede cambiarlo durante la instalación.

Mientras algunos paquetes requieren más de un directorio base, la ventaja de usar este parámetro para colocar el paquete se debe a que se garantiza que el directorio base estará en su lugar y será modificable como directorio válido en el momento en el que comience la instalación. La ruta correcta al directorio base para el servidor y el cliente está disponible para todas las secuencias de comandos de procedimientos en forma de variables de entorno reservadas, y el comando pkginfo -r SUNWstuf muestra la instalación actual base para el paquete.

En la secuencia de comandos checkinstall, BASEDIR es el parámetro definido exactamente en el archivo pkginfo (aún no se ha acondicionado). Con el fin de inspeccionar el directorio base de destino, se precisa la construcción ${PKG_INSTALL_ROOT}$BASEDIR. Esto significa que la secuencia de comandos request o checkinstall puede cambiar el valor de BASEDIR en el entorno de instalación con resultados predecibles. En el tiempo de llamar a la secuencia de comandos preinstall, el parámetro BASEDIR es el puntero completamente acondicionado al directorio base real en el sistema de destino, incluso si el sistema es un cliente.


Nota - La secuencia de comandos request utiliza el parámetro BASEDIR de forma diferente según las versiones del sistema operativo SunOS. Con el fin de probar un parámetro BASEDIR en una secuencia de comandos request, se debe usar el código siguiente para determinar el directorio de base real en uso.

# request script
constructs base directory
if [ ${CLIENT_BASEDIR} ]; then
      LOCAL_BASE=$BASEDIR
else
      LOCAL_BASE=${PKG_INSTALL_ROOT}$BASEDIR
fi

Uso de directorios base paramétricos

Si un paquete necesita diversos directorios base, puede establecerlos con nombres de ruta paramétricos. Este método se ha vuelto bastante popular, aunque tiene los siguientes inconvenientes:

Mientras los parámetros que determinan los directorios base se definen en el archivo pkginfo, se pueden modificar mediante la secuencia de comandos request. Ésta es una de las razones fundamentales para la popularidad de esta aproximación. Sin embargo, los inconvenientes son crónicos y debe considerar esta configuración como último recurso.

Ejemplos: uso de directorios base paramétricos

El archivo pkginfo
# pkginfo file
PKG=SUNWstuf
NAME=software stuff 
ARCH=sparc
VERSION=1.0.0,REV=1.0.5
CATEGORY=application
DESC=a set of utilities that do stuff
BASEDIR=/
EZDIR=/usr/stuf/EZstuf
HRDDIR=/opt/SUNWstuf/HRDstuf
VENDOR=Sun Microsystems, Inc.
HOTLINE=Please contact your local service provider
EMAIL=
MAXINST=1000
CLASSES=none
PSTAMP=hubert980707141632
El archivo pkgmap
: 1 1758
1 d none $EZDIR 0775 root bin
1 f none $EZDIR/dirdel 0555 bin bin 40 773 751310229
1 f none $EZDIR/usrdel 0555 bin bin 40 773 751310229
1 f none $EZDIR/filedel 0555 bin bin 40 773 751310229
1 d none $HRDDIR 0775 root bin
1 f none $HRDDIR/mksmart 0555 bin bin 40 773 751310229
1 f none $HRDDIR/mktall 0555 bin bin 40 773 751310229
1 f none $HRDDIR/mkcute 0555 bin bin 40 773 751310229
1 f none $HRDDIR/mkeasy 0555 bin bin 40 773 751310229
1 d none /etc    ? ? ?
1 d none /etc/rc2.d ? ? ?
1 f none /etc/rc2.d/S70dostuf 0744 root sys 450 223443
1 i pkginfo 348 28411 760740163
1 i postinstall 323 26475 751309908
1 i postremove 402 33179 751309945
1 i preinstall 321 26254 751310019
1 i preremove 320 26114 751309865

Administración del directorio base

Cualquier paquete que esté disponible en diversas versiones o para diversas arquitecturas se debe diseñar para recorrer el directorio base, si fuera necesario. Recorrer un directorio base significa que si una versión anterior o una arquitectura diferente del paquete que se está instalando ya existe en el directorio base, el paquete que se está instalando resuelve este problema, quizá mediante la creación de un nuevo directorio base con un nombre ligeramente diferente. Las secuencias de comandos request y checkinstall en Solaris 2.5 y versiones compatibles tienen la posibilidad de modificar la variable de entorno BASEDIR. Esto no se aplica a versiones anteriores del sistema operativo Oracle Solaris.

Incluso en versiones anteriores del sistema operativo Oracle Solaris, la secuencia de comandos request tenía la autoridad de redefinir directorios en la base de instalación. La secuencia de comandos request puede hacerlo de modo que todavía admita las preferencias más administrativas.