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

Cómo solicitar entrada de información al administrador

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

La secuencia de comandos request

Creación de un archivo durante la instalación y cómo guardarlo durante la eliminación

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

El archivo space

La secuencia de comandos de acción de clase i.admin

La secuencia de comandos de eliminación r.cfgdata

Definición de dependencias y compatibilidades de paquetes

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo copyright

El archivo compver

El archivo depend

Modificación de un archivo mediante secuencias de comandos de acción de clase y clases estándar

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

La secuencia de comandos de acción de clase de instalación i.inittab

La secuencia de comandos de acción de clase de eliminación r.inittab

El archivo inittab

Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

La secuencia de comandos de acción de clase sed Class Action Script (/etc/inittab)

La secuencia de comandos postinstall

Modificación de un archivo mediante la clase build

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

El archivo build

Modificación de archivos crontab durante la instalación

Técnicas

Aproximación

Archivos de casos prácticos

El comando pkginfo

El archivo prototype

La secuencia de comandos de acción de clase de instalación i.cron

La secuencia de comandos de acción de clase de eliminación r.cron

Archivo crontab n.º 1

Archivo crontab n.º 2

Instalación y eliminación de un controlador con secuencias de comandos de procedimientos

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

La secuencia de comandos request

La secuencia de comandos postinstall

La secuencia de comandos preremove

Instalación de un controlador mediante las secuencias de comandos de procedimientos y la clase sed

Técnicas

Aproximación

Archivos de casos prácticos

El archivo pkginfo

El archivo prototype

La secuencia de comandos de acción de clase sed Class Action Script (/etc/devlink.tab)

La secuencia de comandos de instalación postinstall

La secuencia de comandos de eliminación preremove

El archivo copyright

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

Glosario

Índice

Modificación de un archivo mediante secuencias de comandos de acción de clase y clases estándar

Este caso práctico modifica un archivo durante la instalación del paquete mediante secuencias de comandos de acción de clase y clases estándar. Usa uno de los tres métodos de modificación. Los otros dos métodos se describen en Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall y Modificación de un archivo mediante la clase build. El archivo modificado es /etc/inittab .

Técnicas

Este caso práctico muestra cómo usar secuencias de comandos de acción de clase de instalación y eliminación. Para obtener más información, consulte Escritura de secuencias de comandos de acción de clase.

Aproximación

Para modificar /etc/inittab durante la instalación, mediante secuencias de comandos de acción de clase y clases, debe completar las tareas siguientes:

Este caso práctico es más complicado que el siguiente; consulte Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall. En lugar de proporcionar dos archivos se necesitan tres; el archivo /etc/inittab entregado es simplemente un marcador de posición que contiene un fragmento de la entrada que se va a insertar. Ésta se podría haber colocado en el archivo i.inittab, a excepción de que el comando pkgadd debe tener un archivo para pasar al archivo i.inittab. Asimismo, el procedimiento de eliminación debe colocarse en un archivo aparte (r.inittab). Mientras este método funcione bien, es mejor reservarlo para casos que impliquen instalaciones muy complicadas de varios archivos. Consulte Modificación de archivos crontab durante la instalación.

El programa sed usado en Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall admite varias instancias de paquetes, ya que el comentario del final de la entrada inittab se basa en la instancia del paquete. El caso práctico de Modificación de un archivo mediante la clase build muestra una aproximación más simplificada para la modificación de /etc/inittab durante la instalación.

Archivos de casos prácticos

El archivo pkginfo

PKG=case5
NAME=Case Study #5
CATEGORY=applications
BASEDIR=/opt
ARCH=SPARC
VERSION=Version 1d05
CLASSES=inittab

El archivo prototype

i pkginfo
i i.inittab
i r.inittab
e inittab /etc/inittab ? ? ?

La secuencia de comandos de acción de clase de instalación i.inittab

# PKGINST parameter provided by installation service
while read src dest
do
# remove all entries from the table that
# associated with this PKGINST
sed -e "/^[^:]*:[^:]*:[^:]*:[^#]*#$PKGINST$/d" $dest >
/tmp/$$itab ||
exit 2
sed -e "s/$/#$PKGINST" $src >> /tmp/$$itab ||
exit 2
mv /tmp/$$itab $dest ||
exit 2
done
if [ "$1" = ENDOFCLASS ]
then
/sbin/init q ||
exit 2
fi
exit 0

La secuencia de comandos de acción de clase de eliminación r.inittab

# PKGINST parameter provided by installation service
while read src dest
do
# remove all entries from the table that
# are associated with this PKGINST
sed -e "/^[^:]*:[^:]*:[^:]*:[^#]*#$PKGINST$/d" $dest >
/tmp/$$itab ||
exit 2
mv /tmp/$$itab $dest ||
exit 2
done
/sbin/init q ||
exit 2
exit 0

El archivo inittab

rb:023456:wait:/usr/robot/bin/setup