Executar comando após instalação do dpkg?

Executar comando após instalação do dpkg?

Acabei de me inspirar neste projeto:

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

Bem, eu queria fazer algo semelhante, depois que o dpkg coloca algo novo no diretório /usr/share/applications, mas para onde meu script deve apontar e o parâmetro a ser passado?

Responder1

Caso o script não possua parâmetros, adicione um arquivo em /etc/apt/apt.conf.d/, por exemplo 92local(números são usados ​​para forçar a ordem de execução dos scripts naquele diretório), com o seguinte conteúdo:

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

e lembre-se de torná-lo executável.

Não é possível encontrar no momento informações sobre como passar parâmetros ou entradas para o script.
Se puder ajudar, ao executar aptna linha de comando, você deve encontrar a linha de comando na variável de ambiente SUDO_COMMAND.

Responder2

Eu encontrei uma maneira de executar a linha de comando do comando APT:

Crie um arquivo /etc/apt/apt.conf.d/90my_dpkg_post_invokecom conteúdo

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

Crie um arquivo executável /usr/local/lib/my_dpkg_post_invoke.shcom conteúdo

#!/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}"

Agora você pode estender o arquivo executável com um teste se ${APTCMD}contiver uma string para a qual deseja acionar uma ação.

informação relacionada