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

Creación de paquetes de archivo de clase

Un paquete de archivos de clase, una mejora en la Application Binary Interface (ABI, Interfaz binaria de aplicaciones), es aquel en que determinados conjuntos de archivos se han combinado en archivos de almacenamiento o archivos sencillos, y que de forma optativa se han comprimido o cifrado. Los formatos de archivos de clase aumentan la velocidad de instalación inicial en un 30% y mejora la fiabilidad durante la instalación de paquetes y parches en sistemas de archivos potencialmente activos.

Las secciones siguientes ofrecen información sobre la estructura de directorios de paquetes de archivos, palabras clave y la utilidad faspac.

Estructura del directorio de paquetes de archivos

La entrada de paquete que aparece en la figura siguiente representa el directorio que contiene los archivos de paquetes. Este directorio debe tener el mismo nombre que el paquete.

Figura 6-1 Estructura del directorio de paquetes

image:El diagrama muestra cinco subdirectorios directamente por debajo del directorio de paquetes: pkginfo, pkgmap, reloc, root e install. También muestra los subdirectorios.

A continuación se enumeran las funciones de los archivos y directorios que se incluyen en el directorio de paquetes.

Elemento
Descripción
pkginfo
Archivo que describe el paquete en conjunto que incluye variables de entorno especiales y directivas de instalación
pkgmap
Descripción de archivo de cada objeto que instalar, como un archivo, directorio o conducción
reloc
Directorio optativo que contiene los archivos que se van a instalar relacionados con el directorio base (objetos reubicables)
root
Directorio optativo que contiene los archivos que se van a instalar relacionados con el directorio root (objetos raíz)
install
Directorio optativo que contiene secuencias de comandos y otros archivos auxiliares (excepto en el caso de pkginfo y pkgmap, todos los archivos ftype i hasta aquí)

El formato de archivo de clase permite al creador de paquetes combinar archivos de los directorios reloc y root en archivos que se pueden comprimir, cifrar o procesar del modo que se desee para aumentar la velocidad de la instalación, reducir el tamaño del paquete o aumentar la seguridad del paquete.

La ABI permite asignar cualquier archivo de un paquete a una clase. Todos los archivos de una clase específica se pueden instalar en el disco mediante un método personalizado definido por una secuencia de comandos de acción de clase. Este método personalizado puede usar programas disponibles en el sistema de destino o programas distribuidos con el paquete. El formato resultante se parece mucho al formato estándar de la ABI. Tal como se muestra en la ilustración siguiente, se agrega otro directorio. Cualquier clase de archivo diseñado como archivo de almacenamiento se combina en un único archivo y se coloca en el directorio archive. Todos los archivos que se hayan archivado se suprimen de los directorios reloc y root y se coloca una secuencia de comandos de acción de clase de instalación en el directorio install.

Figura 6-2 Estructura de directorios de paquetes de archivos

image:El diagrama muestra la misma estructura de directorio de paquetes en la Figura 6-1 con la agregación del subdirectorio de archivos.

Palabras clave para admitir paquetes de archivo de clase

Con el fin de admitir este nuevo formato de archivo de clase, tres nuevas interfaces con formato de palabras clave tienen un significado especial en el archivo pkginfo. Estas palabras clave se usan para designar clases que precisen un tratamiento especial. El formato de cada instrucción de palabra clave: keyword=class1[class2 class3 ...]. Los valores de cada palabra clave se definen en la tabla siguiente.

Palabra clave
Descripción
PKG_SRC_NOVERIFY
Indica a pkgadd que no verifique la existencia ni las propiedades de los archivos en los directorios reloc o root del paquete distribuido si pertenecen a la clase nombrada. Esto es necesario en todas las clases archivadas, porque esos archivos ya no se encuentran en un directorio reloc o root. Son un archivo de formato privado en el directorio archive.
PKG_DST_QKVERIFY
Los archivos de estas clases se verifican después de la instalación mediante un algoritmo rápido con poca o ninguna salida de texto. La verificación rápida configura primero los atributos de cada archivo correctamente y después comprueba si la operación ha sido satisfactoria. Después hay una prueba de la hora de modificación y el tamaño del archivo con el pkgmap. No se lleva a cabo una verificación checksum y la recuperación de errores es más deficiente que la ofrecida por el mecanismo estándar de verificación. En el caso de interrupción de la alimentación o fallo en el disco durante la instalación, es posible que falte coherencia al archivo de contenido respecto a los archivos instalados. Esta falta de coherencia se puede solucionar siempre con un comando pkgrm.
PKG_CAS_PASSRELATIVE
Por lo general, la secuencia de comandos de acción de clase de instalación recibe de stdin una lista de pares de origen y de destino para indicar qué archivos se deben instalar. Las clases asignadas a PKG_CAS_PASSRELATIVE no obtienen los pares de origen y de destino. En su lugar reciben una lista única, cuya primera entrada es la ubicación del paquete de origen y el resto son las rutas de destino. La finalidad específica es simplificar la extracción de un archivo. A partir de la ubicación del paquete de origen, puede buscar el archivo en el directorio archive. Las rutas de destino pasan a la función responsable de extraer el contenido de un archivo. Cada ruta de destino proporcionada es absoluta o relativa en relación al directorio base, según si la ruta se encontraba originalmente en root o reloc. Si se elige esta opción, puede que sea difícil combinar las rutas relativas y absolutas en una única clase.

Se precisa una secuencia de comandos de acción de clase para cada clase archivada. Se trata de un archivo que contiene comandos de shell Bourne, ejecutado por pkgadd para instalar los archivos desde el archivo. Si se encuentra una secuencia de comandos de acción de clase en el directorio install del paquete, pkgadd entrega toda la responsabilidad de la instalación a esa secuencia de comandos. La secuencia de comandos de acción de clase se ejecuta con permisos de usuario root y puede situar sus archivos en cualquier lugar del sistema de destino.


Nota - La única palabra clave que es absolutamente necesaria para implementar un paquete de archivo de clase es PKG_SRC_NOVERIFY. Las demás se pueden usar para aumentar la velocidad de la instalación o conservar el código.


La utilidad faspac

La utilidad faspac convierte un paquete ABI estándar en un formato de archivo de clase utilizado para paquetes integrados. Esta utilidad realiza tareas de archivado mediante cpio y tareas de compresión mediante compress. El paquete resultante tiene un directorio adicional en el directorio superior llamado archive. En este directorio se encuentran todos los archivos nombrados por clase. El directorio install contendrá las secuencias de comandos de acción de clase necesarias para desempaquetar cada archivo. Las rutas absolutas no se archivan.

La utilidad faspac tiene el formato siguiente:

faspac [-m Archive Method] -a -s -q [-d Base Directory] /
[-x Exclude List] [List of Packages]

Cada opción del comando faspac se describe en la tabla siguiente.

Opción
Descripción
-m Archive Method

Indica un método para el archivado o la compresión. bzip2 es la utilidad de compresión predeterminada que se ha utilizado. Para conmutar el método de compresión o descompresión, utilice -m zip; para cpio o compress use - m cpio.
-a
Corrige atributos (debe ser root para ello).
-s
Indica la traducción de paquetes de tipo ABI estándar. Esta opción toma un paquete comprimido o cpio y lo convierte en formato estándar de paquete compatible con ABI.
-q
Indica el modo silencioso.
-d Base Directory
Indica el directorio donde se actuará sobre todos los paquetes presentes según lo requiera la línea de comandos. Esto es incompatible con la entrada List of Packages.
-x Exclude List
Indica una lista de paquetes separados por espacios, entre comillas o separados por comas para excluirlos del proceso.
List of Packages
Indica la lista de paquetes que se van a procesar.