En debian los paquetes poseen maintainer scripts (o scripts del mantenedor de un paquete) utilizados durante las etapas de instalación y borrado de paquetes. Hay que tener en cuenta que los paquetes pueden estar en uno de varios estados y las transiciones de estos se detallan gráficamente en los diagramas de flujo de los maintainer scripts en el manual de políticas de debian.
Hay veces que durante la creación de paquetes se debe hacer un script, y al momento de instalar se obtiene un error como el siguiente:
$ dpkg -i my-package_1_amd64.deb
...
dpkg: error processing package my-package (--install):
installed my-package post-installation script subprocess returned error exit status 10
...
En ese caso una forma rápida y sucia de probar el script es editando
directamente el script correspondiente ({pre,post}{inst,rm}) en el directorio
/var/lib/dpkg/info
respaldando previamente:
$ sudo cp /var/lib/dpkg/info/my-package.postinst{,.bak}
$ sudo vi /var/lib/dpkg/info/my-package.postinst
Para shell conviene agregar set -x
para obtener mayor información sobre los
errores.
Luego de realizar cambios se utiliza dpkg
para corroborar que los scripts no
devuelvan errores al ser invocados:
$ sudo dpgk --configure my-package
NOTA: en caso de seguir este tip se recomienda utilizar una máquina virtual para instalar el paquete
Tener en cuenta que para probar los maintainer scripts conviene utilizar piuparts.