Apt dpkg hook, script à l'installation d'un paquet

Quand je disais qu’un peu d’imagination résoudrait le problème… :smiley:

[size=125]/etc/apt/apt.conf.d/99-apt-hooks-test[/size]

DPkg::Pre-Install-Pkgs { "if [ -x /root/apt-hooks-test/hook.sh ]; then /root/apt-hooks-test/hook.sh preinstall; fi"; }; DPkg::Post-Invoke { "if [ -x /root/apt-hooks-test/hook.sh ]; then /root/apt-hooks-test/hook.sh postinvoke; fi"; };

[size=125]/root/apt-hooks-test/hook.sh[/size]

[code]#!/bin/sh
set -e # Arrêter immédiatement si erreur

Nom du paquet à surveiller (syntaxe grep -E)

PAQUET=“acct”

Emplacement du fichier servant de drapeau

FLAG_FILE="/root/apt-hooks-test/.flag"

Routine à exécuter

Appelé en Post-Invoke UNIQUEMENT si $PAQUET a été installé / mis à jour (les suppressions ne sont pas détectées).

hook_postinvoke()
{
echo “====> Ça marche ! <====”
}

Détecter l’installation / MAJ de $PAQUET en Pre-Install-Pkgs

if [ “$1” = “preinstall” ] && grep -E -q “^/var/cache/apt/archives/${PAQUET}_[^/]*”; then
touch “$FLAG_FILE”

Le cas échéant, exécuter la routine en Post-Invoke

elif [ “$1” = “postinvoke” ] && [ -f “$FLAG_FILE” ]; then
hook_postinvoke
rm “$FLAG_FILE”

fi[/code]
:wink: