En este capítulo se describe cómo verificar la integridad del paquete y transferirlo a un medio de distribución, como un disquete o un CD-ROM.
A continuación puede ver una lista de la información general que se ofrece en este capítulo.
En la tabla siguiente se describen los pasos que debe seguir con el fin de verificar la integridad del paquete y transferirlo a un medio de distribución.
Tabla 4–1 Verificación y transferencia de un paquete (mapa de tareas)
Tarea |
Descripción |
Instrucciones |
---|---|---|
1. Construir el paquete |
Construya el paquete en el disco. | |
2. Instalar el paquete |
Pruebe la instalación del paquete y asegúrese de que se instala sin errores. |
Cómo instalar un paquete en un servidor o un sistema autónomo |
3. Verificar la integridad del paquete |
Use el comando pkgchk para verificar la integridad del paquete. | |
4. Obtener información adicional del paquete |
Optativa. Use los comandos pkginfo y pkgparam para llevar a cabo la verificación específica del paquete. |
Visualización de información adicional sobre paquetes instalados |
5. Suprimir el paquete instalado |
Use el comando pkgrm para suprimir el paquete instalado del sistema. | |
6. Transferir el paquete a un medio de distribución |
Use el comando pkgtrans para transferir el paquete (con formato de paquete) a un medio de distribución. |
Los paquetes de software se instalan mediante el comando pkgadd. Este comando transfiere el contenido de un paquete de software del medio de distribución o directorio y lo instala en un sistema.
En esta sección se ofrecen instrucciones básicas para instalar el paquete con el fin de verificar que se instala correctamente.
La información para todos los paquetes instalados en un sistema se mantiene en la base de datos de software de instalación. Hay una entrada para todos los objetos de un paquete, con información como el nombre del componente, dónde reside y su tipo. Una entrada contiene un registro del paquete al que pertenece un componente; otros paquetes que pueden hacer referencia al componente, e información como el nombre de la ruta, dónde reside el componente y de qué tipo es. Los comandos pkgadd y pkgrm agregan y suprimen automáticamente las entradas. Puede ver la información en la base de datos mediante los comandos pkgchk y pkginfo.
Se asocian dos tipos de información a cada componente de paquete. La información del atributo describe el componente en sí mismo. Por ejemplo, los permisos de acceso del componente, ID de propietario e ID de grupo son información de atributos. La información de contenido describe el contenido del componente, como el tamaño del archivo y la hora de la última modificación.
La base de datos de software de instalación hace un seguimiento del estado del paquete. Una paquete se puede instalar completamente (ha completado el proceso de instalación), o bien parcialmente (no ha completado el proceso de instalación).
Si un paquete se instala parcialmente, es posible que partes de un paquete se hayan instalado antes de que se terminara la instalación; por ello, una parte del paquete está instalada y registrada en la base de datos, y una parte no. Cuando vuelve a instalar el paquete, se le indica que comience en el punto en que se detuvo la instalación porque el comando pkgadd puede acceder a la base de datos y detectar qué partes se han instalado ya. También puede suprimir las partes que se han instalado, de acuerdo con la información de la base de datos de software de instalación mediante el comando pkgrm.
Si el comando pkgadd encuentra un problema, en primer lugar comprueba las instrucciones en el archivo de administración de la instalación. (Consulte admin(4) para obtener más información.) Si no se encuentran instrucciones, o bien si el parámetro pertinente del archivo de administración está configurado en ask, pkgadd muestra un mensaje que describe el problema y solicita una respuesta. La solicitud es Do you want to continue with this installation? (¿Desea continuar con la instalación?). Debe responder con yes (sí), no o quit (salir).
Si ha especificado más de un paquete, no detiene la instalación del paquete pero pkgadd continúa con la instalación de otros paquetes. quit indica que pkgadd debe detener la instalación de todos los paquetes.
En esta sección se describe cómo instalar paquetes en un sistema autónomo o un servidor en un entorno homogéneo.
Consulte Construcción de un paquete, si fuera necesario.
Inicie la sesión como superusuario.
Agregue el paquete de software al sistema.
# pkgadd -d device-name [pkg-abbrev...] |
-d nombre_dispositivo |
Especifica la ubicación del paquete. Tenga en cuenta que nombre_dispositivo puede ser un nombre de ruta de directorio completo o los identificadores de una cinta, disquete o disco extraíble. |
abrev_paquete |
Es el nombre de uno o más paquetes (separados por espacios) que se agregarán. Si se omite, pkgadd instala todos los paquetes disponibles. |
Para instalar un paquete de software de nombre pkgA a partir de un dispositivo de cinta de nombre /dev/rmt/0, debería especificar el comando siguiente:
# pkgadd -d /dev/rmt/0 pkgA |
También puede instalar varios paquetes al mismo tiempo, siempre que separe sus nombres con un espacio, de este modo:
# pkgadd -d /dev/rmt/0 pkgA pkgB pkgC |
Si no nombra el dispositivo en el que reside el paquete, el comando comprueba el directorio de cola predeterminado (/var/spool/pkg). Si el paquete no está allí, la instalación falla.
Si está preparado para ir a la tarea siguiente, consulte Cómo verificar la integridad de un paquete.
El comando pkgchk permite comprobar la integridad de los paquetes, si están instalados en un sistema o con formato de paquete (listo para instalarse con el comando pkgadd). Confirma la estructura del paquete o los archivos instalados y los directorios, o bien muestra información sobre objetos del paquete. El comando pkgchk puede enumerar o comprobar lo siguiente:
Las secuencias de comandos de instalación del paquete.
El contenido o los atributos de los objetos instalados actualmente en el sistema.
El contenido de un paquete sin instalar en cola.
El contenido o los atributos de los objetos descritos en el archivo pkgmap especificado.
Para obtener más información sobre este comando, consulte pkgchk(1M).
El comando pkgchk lleva a cabo dos tipos de comprobaciones. Comprueba los atributos del archivo (los permisos y la propiedad de un archivo, así como los números principales o secundarios del bloque o los dispositivos especiales de caracteres) y el contenido de los archivos (el tamaño, la suma de comprobación y la fecha de modificación). De forma predeterminada, el comando comprueba los atributos y el contenido de los archivos.
El comando pkgchk también compara los atributos y el contenido de los archivos del paquete instalado con la base de datos de software de instalación. Las entradas relacionadas con un paquete pueden haber cambiado desde el tiempo de la instalación; por ejemplo, puede que otro paquete haya cambiado un componente del paquete. La base de datos refleja dicho cambio.
Instale el paquete.
Consulte Cómo instalar un paquete en un servidor o un sistema autónomo si fuera necesario.
Verifique la integridad del paquete.
# pkgchk [-v] [-R root-path] [pkg-abbrev...] |
-v |
Muestra los archivos a medida que se procesan. |
-R ruta_raíz |
Especifica la ubicación del sistema de archivos raíz del sistema cliente. |
abrev_paquete |
Es el nombre de uno o más paquetes (separados por espacios) que se comprobarán. Si se omite, pkgchk comprueba todos los paquetes disponibles. |
Este ejemplo muestra el comando que debe usar para verificar la integridad de un paquete instalado.
$ pkgchk pkg-abbrev $ |
Si hay errores, el comando pkgchk los imprime. De lo contrario, no se imprime nada y devuelve un código de salida de 0. Si no proporciona una abreviación de paquete, comprobará todos los paquetes del sistema.
Si lo desea, puede usar la opción -v, que imprimirá una lista de archivos del paquete si no hay errores. Por ejemplo:
$ pkgchk -v SUNWcadap /opt/SUNWcadap /opt/SUNWcadap/demo /opt/SUNWcadap/demo/file1 /opt/SUNWcadap/lib /opt/SUNWcadap/lib/file2 /opt/SUNWcadap/man /opt/SUNWcadap/man/man1 /opt/SUNWcadap/man/man1/file3.1 /opt/SUNWcadap/man/man1/file4.1 /opt/SUNWcadap/man/windex /opt/SUNWcadap/srcfiles /opt/SUNWcadap/srcfiles/file5 /opt/SUNWcadap/srcfiles/file6 $ |
Si necesita verificar un paquete que esté instalado en el sistema de archivos raíz de un sistema cliente, use este comando:
$ pkgchk -v -R root-path pkg-abbrev |
Si está preparado para ir a la tarea siguiente, consulte Cómo obtener información con el comando pkginfo.
Puede usar los otros dos comandos para mostrar información sobre los paquetes instalados:
El comando pkgparam muestra los valores de los parámetros.
El comando pkginfo muestra información de la base de datos de software de instalación.
El comando pkgparam permite mostrar los valores asociados a los parámetros que especificó en la línea de comandos. Los valores de un paquete específico se recuperan del archivo pkginfo o del archivo que indique. Se muestra un valor de parámetro por línea. Puede mostrar los valores solamente o los parámetros y sus valores.
Instale el paquete.
Consulte Cómo instalar un paquete en un servidor o un sistema autónomo si fuera necesario.
Muestre información adicional sobre el paquete.
# pkgparam [-v] pkg-abbrev [param...] |
-v |
Muestra el nombre del parámetro y su valor. |
abrev_paquete |
Es el nombre de un paquete específico. |
param |
Especifica uno o más parámetros cuyos valores se muestran. |
Por ejemplo, para mostrar valores solamente, use este comando.
$ pkgparam SUNWcadap none /opt US/Mountain /sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin /usr/sadm/sysadm SUNWcadap Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. system release 1.0 SPARC venus990706083849 SUNWcadap /var/sadm/pkg/SUNWcadap/save Jul 7 1999 09:58 $ |
Para mostrar parámetros y sus valores, use el comando siguiente.
$ pkgparam -v SUNWcadap pkgparam -v SUNWcadap CLASSES='none' BASEDIR='/opt' TZ='US/Mountain' PATH='/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin' OAMBASE='/usr/sadm/sysadm' PKG='SUNWcadap' NAME='Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition.' CATEGORY='system' VERSION='release 1.0' ARCH='SPARC' PSTAMP='venus990706083849' PKGINST='SUNWcadap' PKGSAV='/var/sadm/pkg/SUNWcadap/save' INSTDATE='Jul 7 1999 09:58' $ |
O bien, si desea mostrar el valor de un parámetro específico, use este formato:
$ pkgparam SUNWcadap BASEDIR /opt $ |
Para obtener más información, consulte pkgparam(1).
Si está listo para ir a la tarea siguiente, consulte Cómo suprimir un paquete.
Puede mostrar información sobre paquetes instalados con el comando pkginfo. Este comando tiene varias opciones que permiten personalizar tanto el formato como el contenido de lo que se visualiza.
Puede solicitar información sobre el número de instancias de paquetes que desee.
Si el comando pkginfo se ejecuta sin opciones, muestra la categoría, la instancia de paquete y el nombre de todos los paquetes que se han instalado completamente en el sistema. La pantalla se organiza por categorías, tal como se muestra en el ejemplo siguiente.
$ pkginfo . . . system SUNWinst Install Software system SUNWipc Interprocess Communications system SUNWisolc XSH4 conversion for ISO Latin character sets application SUNWkcspf KCMS Optional Profiles application SUNWkcspg KCMS Programmers Environment application SUNWkcsrt KCMS Runtime Environment . . . $ |
Puede ver la pantalla de pkginfo con tres formatos diferentes: corto, extraído y largo.
El formato corto es el predeterminado. Sólo muestra la categoría, la abreviatura del paquete y el nombre completo del paquete, tal como se indica en Visualización predeterminada de pkginfo.
El formato extraído muestra la abreviatura, el nombre y la arquitectura del paquete (si están disponibles), así como su versión (si está disponible). Use la opción -x para solicitar el formato extraído tal como aparece en el ejemplo siguiente.
$ pkginfo -x . . . SUNWipc Interprocess Communications (sparc) 11.8.0,REV=1999.08.20.12.37 SUNWisolc XSH4 conversion for ISO Latin character sets (sparc) 1.0,REV=1999.07.10.10.10 SUNWkcspf KCMS Optional Profiles (sparc) 1.1.2,REV=1.5 SUNWkcspg KCMS Programmers Environment (sparc) 1.1.2,REV=1.5 . . . $ |
El uso de la opción -l produce una pantalla de formato largo donde se muestra toda la información disponible de un paquete, como en el ejemplo anterior.
$ pkginfo -l SUNWcadap PKGINST: SUNWcadap NAME: Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. CATEGORY: system ARCH: SPARC VERSION: release 1.0 BASEDIR: /opt PSTAMP: system980706083849 INSTDATE: Jul 7 1999 09:58 STATUS: completely installed FILES: 13 installed pathnames 6 directories 3 executables 3121 blocks used (approx) $ |
En la tabla siguiente se describen los parámetros del paquete que se pueden mostrar para cada paquete. Un parámetro y su valor aparecen solamente cuando el parámetro tiene un valor asignado.
Tabla 4–2 Parámetros de paquetes
Parámetro |
Descripción |
---|---|
ARCH |
La arquitectura admitida por este paquete. |
BASEDIR |
El directorio base donde reside el paquete de software (se muestra si el paquete es reubicable). |
CATEGORY |
Las categorías de software de las que este paquete es miembro (por ejemplo, system o application). |
CLASSES |
Una lista de clases definida para un paquete. El orden de la lista determina el orden en que se instalan las clases. Las clases enumeradas en primer lugar se instalan primero (medio a medio). Este parámetro se puede modificar mediante la secuencia de comandos de solicitud. |
DESC |
Texto que describe el paquete. |
|
La dirección de correo electrónico para las consultas del usuario. |
HOTLINE |
Información sobre cómo recibir ayuda al instante sobre este paquete. |
INTONLY |
Indica que el paquete sólo debe instalarse interactivamente cuando se configura con un valor diferente de NULL. |
ISTATES |
Una lista de estados de ejecución posibles para la instalación de paquetes (por ejemplo, S s 1). |
MAXINST |
Número máximo de instancias de paquetes que se deben permitir en una máquina al mismo tiempo. De forma predeterminada, sólo se permite una instancia de un paquete. |
NAME |
Nombre del paquete, generalmente texto que describe la abreviatura del paquete. |
ORDER |
Lista de clases que define el orden en que se deben colocar en el medio. Utilizado por el comando pkgmk en la creación del paquete. Las clases que no están definidas en este parámetro se colocan en el medio mediante procedimientos de ordenación estándar. |
PKGINST |
Abreviatura del paquete que se está instalando. |
PSTAMP |
Marca de producción de este paquete. |
RSTATES |
Lista de estados de ejecución posibles para la eliminación de paquetes (por ejemplo, S s 1). |
ULIMIT |
Si está configurado, este parámetro se pasa como argumento al comando ulimit, que establece el tamaño máximo de un archivo durante la instalación. Esto se aplica solamente a archivos creados por secuencias de comandos de procedimientos. |
VENDOR |
Nombre del distribuidor que proporcionó el paquete de software. |
VERSION |
Versión de este paquete. |
VSTOCK |
Número de existencias proporcionado por el distribuidor. |
Para obtener información detallada sobre el comando pkginfo, consulte la página de comando man pkginfo(1).
Instale el paquete.
Consulte Cómo instalar un paquete en un servidor o un sistema autónomo si fuera necesario.
Muestre información adicional sobre el paquete.
# pkginfo [-x | -l] [pkg-abbrev] |
-x |
Muestra información del paquete en formato extraído. |
-l |
Muestra información del paquete en formato largo. |
abrev_paquete |
Es el nombre de un paquete específico. Si se omite, el comando pkginfo muestra información sobre todos los paquetes instalados, en el formato predeterminado. |
Si está listo para ir a la tarea siguiente, consulte Cómo suprimir un paquete.
Debido a que el comando pkgrm actualiza la información en la base de datos de productos de software, es importante, si suprime un paquete, usar el comando pkgrm, aunque esté tentado de usar el comando rm en su lugar. Por ejemplo, podría usar el comando rm para suprimir un archivo ejecutable binario, aunque no es lo mismo que usar pkgrm para suprimir el paquete de software que incluye dicho ejecutable binario. El uso del comando rm para suprimir archivos de un paquete dañará la base de datos de productos de software. (Si en realidad sólo desea suprimir un archivo, puede usar el comando removef, que actualizará la base de datos de productos de software correctamente.
Suprima un paquete instalado.
# pkgrm pkg-abbrev ... |
abrev_paquete |
Es el nombre de uno o más paquetes (separados por espacios). Si se omite, pkgrm suprime todos los paquetes disponibles. |
Verifique que el paquete se haya suprimido satisfactoriamente con el comando pkginfo.
$ pkginfo | egrep pkg-abbrev |
Si se ha instalado abrev_paquete, el comando pkginfo devuelve una línea de información al respecto. De lo contrario, pkginfo devuelve el indicador del sistema.
El comando pkgtrans mueve los paquetes y lleva a cabo traducciones de formato de los paquetes. Puede usar el comando pkgtrans para llevar a cabo las traducciones siguientes de un paquete instalable:
Formato de sistema de archivos a formato de flujo de datos
Formato de flujo de datos a formato de sistema de archivos
Un formato de sistema de archivos a otro formato de sistema de archivos
Construya el paquete; cree un paquete con formato de directorio, si no lo ha hecho todavía.
Para obtener más información, consulte Cómo construir un paquete.
Instale el paquete para verificar que se instale correctamente.
Consulte Cómo instalar un paquete en un servidor o un sistema autónomo si fuera necesario.
Verifique la integridad del paquete.
Consulte Cómo verificar la integridad de un paquete, Cómo obtener información con el comando pkginfo y Cómo obtener información con el comando pkgparam, si fuera necesario.
Quite el paquete instalado del sistema.
Consulte Cómo suprimir un paquete, si fuera necesario.
Transfiera el paquete (con formato de paquete) a un medio de distribución.
Para llevar a cabo una traducción básica, ejecute el comando siguiente:
$ pkgtrans device1 device2 [pkg-abbrev...] |
dispositivo1 |
Es el nombre del dispositivo donde reside actualmente el paquete. |
dispositivo2 |
Es el nombre del dispositivo en el que se escribirá el paquete traducido. |
[abrev_paquete] |
Es una o más abreviaturas de paquetes. |
Si no se proporcionan nombres de paquetes, todos los paquetes que se encuentren en el dispositivo1 se traducen y se escriben en el dispositivo2.
Si más de una instancia de un paquete reside en el dispositivo1, debe usar un identificador de instancias para el paquete. Para obtener una descripción de un identificador de paquetes, consulte Definición de la instancia de un paquete. Cuando una instancia del paquete que se está traduciendo ya existe en el dispositivo2, el comando pkgtrans no lleva a cabo la traducción. Puede usar la opción -o para indicar al comando pkgtrans que sobrescriba las instancias del dispositivo de destino y la opción -n para indicarle que cree una nueva instancia si ya existe una. Tenga en cuenta que esta comprobación no se aplica cuando el dispositivo2 admite un formato de flujo de datos.
En este momento ha completado todos los pasos necesarios para diseñar, construir, verificar y transferir el paquete. Si está interesado en consultar algunos casos prácticos, consulte Capítulo 5Casos prácticos de creación de paquetes. Si está interesado en ideas de diseño de paquetes avanzados, consulte el Capítulo 6Técnicas avanzadas para la creación de paquetes.