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

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)

Cómo crear un archivo pkginfo

Organización del contenido de un paquete

Cómo organizar el contenido de un paquete

Creación de un archivo prototype

Formato del archivo prototype

El campo ftype

El campo class

El campo path

Objetos reubicables colectivamente

Objetos reubicables individualmente

Nombres de rutas paramétricos

Unas palabras sobre las ubicaciones de origen y de destino del objeto

El campo mode

El campo owner

El campo group

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

Anidado de archivos prototype

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

Creación de un paquete

Uso del comando pkgmk más sencillo

El archivo pkgmap

Cómo construir 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

Glosario

Índice

Creación de un paquete

Use el comando pkgmk para construir el paquete. El comando pkgmk ejecuta las tareas siguientes:

Uso del comando pkgmk más sencillo

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.

El archivo pkgmap

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:

Cómo construir un paquete

  1. Cree un archivo pkginfo, si no lo ha hecho ya.

    Para conocer las instrucciones detalladas, consulte Cómo crear un archivo pkginfo.

  2. Cree un archivo prototype, si no lo ha hecho ya.

    Para obtener instrucciones detalladas, consulte Cómo crear un archivo prototype mediante el comando pkgproto.

  3. Haga los cambios necesarios para que el directorio de trabajo actual sea el mismo que contiene el archivo prototype del paquete.
  4. Construya su paquete.
    $ pkgmk [-o] [-a arch] [-b base-src-dir] [-d device]
       [-f filename] [-l limit] [-p pstamp] [-r rootpath]
       [-v version] [PARAM=value] [pkginst]
    -o

    Sobrescribe la versión actual del paquete.

    -a arch

    Anula la información de arquitectura del archivo pkginfo.

    -b base-src-dir

    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.

    -d device

    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.

    -f filename

    Nombra un archivo, filename, que se usa como archivo prototype. Los nombres predeterminados son prototype o Prototype.

    -l limit

    Especifica el tamaño máximo, en bloques de 512 bytes, del dispositivo de salida.

    -p pstamp

    Anula la definición de indicación de producción en el archivo pkginfo.

    -r rootpath

    Solicita que el directorio raíz rootpath se use para encontrar los objetos en el sistema de desarrollo.

    -v version

    Anula la información de la versión del archivo pkginfo.

    PARAM=value

    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.

    pkginst

    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).

  5. Compruebe el contenido del paquete.
    $ 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.
    $
    -d device-name

    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.

    pkg-abbrev

    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

    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:

$ 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.