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) |
El proceso de construcción de un paquete (mapa de tareas)
Variables de entorno de paquetes
Normas generales sobre el uso de variables de entorno
Resumen de variables de entorno de paquetes
Creación de un archivo pkginfo
Definición de la instancia de un paquete
Definición de la abreviatura de un paquete (PKG)
Especificación de una arquitectura de paquetes (ARCH)
Especificación de una arquitectura de conjunto de instrucciones de paquetes (SUNW_ISA)
Especificación de la versión de un paquete (VERSION)
Definición del nombre de un paquete (NAME)
Definición de una categoría de paquetes (CATEGORY)
Organización del contenido de un paquete
Cómo organizar el contenido de un paquete
Creación de un archivo prototype
Objetos reubicables colectivamente
Objetos reubicables individualmente
Unas palabras sobre las ubicaciones de origen y de destino del objeto
Creación de un archivo prototype desde cero
Ejemplo: creación de un archivo prototype con el comando pkgproto
Ajuste de un archivo prototype creado con el comando pkgproto
Creación de entradas de objetos con tipos de archivos v, e, x y i
Uso de varias definiciones de clases
Ejemplo: ajuste de un archivo prototype creado mediante el comando pkgproto
Agregación de funciones a un archivo prototype
Definición de objetos adicionales que se deben crear en el tiempo de la instalación
Creación de vínculos en el tiempo de la instalación
Distribución de paquetes en varios volúmenes
Configuración de valores predeterminados para los campos mode, owner y group
Cómo proporcionar una ruta de búsqueda para el comando pkgmk
Configuración de variables de entorno
Cómo crear un archivo prototype mediante el comando pkgproto
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
Use el comando pkgmk para construir el paquete. El comando pkgmk ejecuta las tareas siguientes:
Coloca todos los objetos definidos del archivo prototype en formato del directorio.
Produce un paquete instalable que se usa como entrada al comando pkgadd.
La forma más sencilla de este comando es pkgmk sin opción alguna. Antes de usar el comando pkgmk sin opciones, compruebe que el directorio de trabajo actual contenga el archivo prototype del paquete. La salida del comando, archivos y directorios, se escribe en el directorio /var/spool/pkg.
Si construye un paquete con el comando pkgmk, crea un archivo pkgmap que sustituye al archivo prototype. El archivo pkgmap del ejemplo anterior muestra el contenido siguiente:
$ more pkgmap : 1 3170 1 d none SUNWcadap 0755 root sys 1 d none SUNWcadap/demo 0755 root bin 1 f none SUNWcadap/demo/file1 0555 root bin 14868 45617 837527496 1 d none SUNWcadap/lib 0755 root bin 1 f none SUNWcadap/lib/file2 0644 root bin 1551792 62372 837527499 1 d none SUNWcadap/man 0755 bin bin 1 d none SUNWcadap/man/man1 0755 bin bin 1 f none SUNWcadap/man/man1/file3.1 0444 bin bin 3700 42989 837527500 1 f none SUNWcadap/man/man1/file4.1 0444 bin bin 1338 44010 837527499 1 f none SUNWcadap/man/windex 0644 root other 157 13275 837527499 1 d none SUNWcadap/srcfiles 0755 root bin 1 f none SUNWcadap/srcfiles/file5 0555 root bin 12208 20280 837527497 1 f none SUNWcadap/srcfiles/file6 0555 root bin 12256 63236 837527497 1 i pkginfo 140 10941 837531104 $
El formato de este archivo es muy similar al del archivo prototype. Sin embargo, el archivo pkgmap incluye la información siguiente:
La primera línea indica el número de volúmenes que abarca el paquete, así como el tamaño aproximado que el paquete tendrá cuando se instale.
Por ejemplo, : 1 3170 indica que el paquete abarca un volumen y usará aproximadamente 3170 bloques de 512 bytes cuando se instale.
Hay tres campos adicionales que definen el tamaño, la suma de comprobación y el tiempo de la modificación de cada objeto de paquete.
Los objetos del paquete aparecen en orden alfabético por clase y nombre de ruta para reducir el tiempo que dura la instalación del paquete.
Para conocer las instrucciones detalladas, consulte Cómo crear un archivo pkginfo.
Para obtener instrucciones detalladas, consulte Cómo crear un archivo prototype mediante el comando pkgproto.
$ pkgmk [-o] [-a arch] [-b base-src-dir] [-d device] [-f filename] [-l limit] [-p pstamp] [-r rootpath] [-v version] [PARAM=value] [pkginst]
Sobrescribe la versión actual del paquete.
Anula la información de arquitectura del archivo pkginfo.
Solicita que base-src-dir se agregue al comienzo de nombres de ruta reubicables cuando el comando pkgmk busque objetos en el sistema de desarrollo.
Especifica que el paquete debe copiarse en device que puede ser un nombre de ruta absoluta de directorio, un disquete o un disco extraíble.
Nombra un archivo, filename, que se usa como archivo prototype. Los nombres predeterminados son prototype o Prototype.
Especifica el tamaño máximo, en bloques de 512 bytes, del dispositivo de salida.
Anula la definición de indicación de producción en el archivo pkginfo.
Solicita que el directorio raíz rootpath se use para encontrar los objetos en el sistema de desarrollo.
Anula la información de la versión del archivo pkginfo.
Configura las variables de entorno globales. Las variables que comienzan por minúscula se resuelven en el tiempo de la construcción. Las que comienzan por mayúscula se sitúan en el archivo pkginfo para usarlo en el tiempo de la instalación.
Especifica un paquete por su abreviatura o instancia específica (por ejemplo, SUNWcadap.4).
Para obtener más información, consulte la página de comando man pkgmk(1).
$ pkgchk -d device-name pkg-abbrev Checking uninstalled directory format package pkg-abbrev from device-name ## Checking control scripts. ## Checking package objects. ## Checking is complete. $
Especifica la ubicación del paquete. Tenga en cuenta que device-name puede ser un nombre de ruta de directorio completo o los identificadores de una cinta o disco extraíble.
Es el nombre de uno o más paquetes (separados por espacios) que se deben comprobar. Si se omite, el comando pkgchk comprueba todos los paquetes disponibles.
El comando pkgchk imprime qué aspectos del paquete se comprueban y muestra advertencias o errores, según sea el caso. Para obtener más información sobre el comando pkgchk, consulte Verificación de la integridad de un paquete.
Precaución - Los errores se deben tener en cuenta especialmente. Un error puede significar que una secuencia de comandos debe corregirse. Compruebe todos los errores y continúe si no está de acuerdo con la salida del comando pkgchk. |
Ejemplo 2-2 Creación de un paquete
Este ejemplo usa el archivo prototype creado en Ajuste de un archivo prototype creado con el comando pkgproto.
$ cd /home/jane/InfoFiles $ pkgmk ## Building pkgmap from package prototype file. ## Processing pkginfo file. WARNING: parameter set to "system990708093144" WARNING: parameter set to "none" ## Attempting to volumize 13 entries in pkgmap. part 1 -- 3170 blocks, 17 entries ## Packaging one part. /var/spool/pkg/SUNWcadap/pkgmap /var/spool/pkg/SUNWcadap/pkginfo /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/demo/file1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/lib/file2 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file3.1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file4.1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/windex /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file5 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file6 ## Validating control scripts. ## Packaging complete. $
Ejemplo 2-3 Especificación de un directorio de origen para los archivos reubicables
Si el paquete contiene archivos reubicables, puede usar la opción -b base-src-dir en el comando pkgmk para especificar un nombre de ruta que agregar al comienzo de los nombres de ruta reubicables mientras el paquete se está creando. Esta opción es útil si no ha usado el formato path1=path2 para los archivos reubicables ni especificado una ruta de búsqueda con el comando !search en el archivo prototype.
El comando siguiente construye un paquete con las características siguientes:
El paquete se construye mediante el archivo de ejemplo prototype que se crea mediante el comando pkgproto. Consulte Ejemplo: creación de un archivo prototype con el comando pkgproto para obtener más información.
El paquete se construye sin modificar los campos de path.
El paquete agrega una entrada para el archivo pkginfo.
$ cd /home/jane/InfoFiles $ pkgmk -o -b /home/jane ## Building pkgmap from package prototype file. ## Processing pkginfo file. WARNING: parameter set to "system960716102636" WARNING: parameter set to "none" ## Attempting to volumize 13 entries in pkgmap. part 1 -- 3170 blocks, 17 entries ## Packaging one part. /var/spool/pkg/SUNWcadap/pkgmap /var/spool/pkg/SUNWcadap/pkginfo /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/demo/file1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/lib/file2 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file3.1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file4.1 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/windex /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file5 /var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file6 ## Validating control scripts. ## Packaging complete.
En este ejemplo, el paquete se construye en el directorio predeterminado /var/spool/pkg, mediante la especificación de la opción -o. Esta opción sobrescribe el paquete que se creó en el Ejemplo 2-2.
Ejemplo 2-4 Especificación de diversos directorios de origen para los archivos de información y los objetos de los paquetes
Si coloca archivos de información de paquetes (como pkginfo y prototype) y objetos de paquetes en dos directorios diferentes, puede crear el paquete si usa las opciones -b base-src-dir y -r rootpath en el comando pkgmk. Si tiene objetos de paquetes en un directorio llamado /product/pkgbin y los demás archivos de información de paquetes en un directorio llamado /product/pkgsrc, podría usar el comando siguiente para situar el paquete en el directorio /var/spool/pkg:
$ pkgmk -b /product/pkgbin -r /product/pkgsrc -f /product/pkgsrc/prototype
De forma optativa, puede usar estos comandos para conseguir el mismo resultado:
$ cd /product/pkgsrc $ pkgmk -o -b /product/pkgbin
En este ejemplo, el comando pkgmk usa el directorio de trabajo actual para buscar las partes restantes del paquete (como los archivos de información prototype y pkginfo).
Véase también
Si desea agregar secuencias de comandos de instalación y archivos de información optativos al paquete, consulte Capítulo 3, Mejora de las funciones de un paquete (tareas). De lo contrario, después de construir el paquete, debe verificar su integridad. Capítulo 4, Verificación y transferencia de un paquete explica cómo hacerlo y ofrece instrucciones detalladas sobre cómo transferir el paquete verificado a un medio de distribución.