¿Ejecutar comando después de la instalación de dpkg?

¿Ejecutar comando después de la instalación de dpkg?

Me acabo de inspirar de este proyecto:

http://www.opendesktop.org/content/show.php?content=145633

Bueno, quería hacer algo similar, después de que dpkg coloque algo nuevo en el directorio /usr/share/applications, pero ¿a dónde debería apuntar mi script y el parámetro a pasar?

Respuesta1

Si el script no toma parámetros, agregue un archivo en /etc/apt/apt.conf.d/, por ejemplo 92local(los números se usan para forzar el orden de ejecución de los scripts en ese directorio), con el siguiente contenido:

DPkg::Post-Invoke { "/path-to/my-script"; };

y recuerda hacerlo ejecutable.

No puedo encontrar en este momento información sobre cómo pasar parámetros o entradas al script.
Si puede ser de ayuda, cuando se ejecuta apten la línea de comando, debe encontrar la línea de comando en la variable de entorno SUDO_COMMAND.

Respuesta2

He encontrado una manera de ejecutar la línea de comando del comando APT:

Crear un archivo /etc/apt/apt.conf.d/90my_dpkg_post_invokecon contenido

DPkg::Post-Invoke { "/usr/local/lib/my_dpkg_post_invoke.sh"; }

Crear un archivo ejecutable /usr/local/lib/my_dpkg_post_invoke.shcon contenido

#!/bin/bash
APTPID=$( ps -ho ppid "${PPID}" )
APTPID="${APTPID## }"   # trim leading spaces
APTCMD=$( ps -ho args "${APTPID}" )
APTCMD="${APTCMD## }"   # trim leading spaces
echo "#### APT Command: ${APTCMD}"

Ahora puede ampliar el archivo ejecutable con una prueba si ${APTCMD}contiene una cadena para la que desea activar una acción.

información relacionada