Las secuencias de comandos de procedimientos ofrecen un conjunto de instrucciones que llevar a cabo en fases concretas de la eliminación o la instalación de paquetes. Las cuatro secuencias de comandos de procedimientos deben tener uno de los nombres predefinidos, según cuándo se vayan a ejecutar las instrucciones. Las secuencias de comandos se ejecutan sin argumentos.
La secuencia de comandos preinstall
se ejecuta antes de que comience la instalación de la clase. Esta secuencia de comandos no debe instalar archivos.
La secuencia de comandos postinstall
se ejecuta después de que se hayan instalado todos los volúmenes.
La secuencia de comandos preremove
se ejecuta antes de que comience la eliminación de la clase. Esta secuencia de comandos no debe suprimir archivos.
La secuencia de comandos postremove
se ejecuta después de todas las clases se hayan suprimido.
Las secuencias de comandos de procedimientos se ejecutan como uid=root y gid=other.
Cada secuencia de comandos debe poder ejecutarse más de una vez porque se ejecuta una vez para cada volumen de un paquete. Esto significa que la ejecución de una secuencia de comandos un determinado número de veces con la misma entrada produce los mismos resultados que la ejecución de la secuencia de comandos sólo una vez.
Cada secuencia de comandos de procedimiento que instale un objeto de paquete que no se encuentre en el archivo pkgmap debe usar el comando installf para avisar a la base de datos del paquete que agrega o modifica el nombre de una ruta. Cuando se completen todas las adiciones o modificaciones, este comando debe invocarse con la opción -f. Sólo las secuencias de comandos postinstall y postremove pueden instalar objetos de paquetes de este modo. Consulte la página de comando man installf(1M) y el Capítulo 5Casos prácticos de creación de paquetes, si desea obtener más información.
No se permite la interacción con el administrador durante la ejecución de una secuencia de comandos de procedimiento. Toda la interacción con el administrador se restringe a la secuencia de comandos request.
Cada secuencia de comandos de procedimientos que suprime archivos no instalados del archivo pkgmap debe usar el comando removef para avisar a la base de datos del paquete que está suprimiendo un nombre de ruta. Cuando la supresión se haya completado, este comando debe invocarse con la opción -f. Consulte la página de comando man removef(1M) y el Capítulo 5Casos prácticos de creación de paquetes, para obtener más información y ejemplos.
Los comandos installf y removef se deben usar porque las secuencias de comandos de procedimientos no se asocian automáticamente con los nombres de rutas que aparecen en el archivo pkgmap.