Existe-t-il un moyen de voir exactement ce que les «déclencheurs de traitement» font par paquet?


15

Comme je l'ai compris, les " déclencheurs de traitement pour <nom du paquet> " effectuent des tâches spécifiques au package et au système, telles que l'ajout d'éléments à un menu de lancement ou la mise à jour d'un fichier de configuration. Existe-t-il un moyen réel de voir ce qui est exactement fait ou modifié au cours de cette étape? Où peut-on trouver le comportement exact de l'étape?

Réponses:


16

Oui, mais cela nécessite de fouiller dans certains scripts bash pour les packages déclenchés.

  • Supposons que la dpkgsortie ressemble à:

    Préparation du remplacement de zim 0.52-1 (en utilisant ... / archives / zim_0.52-1_all.deb) ...
    Déballage du zim de remplacement ...
    Traitement des déclencheurs pour les informations MIME partagées ...
    Traitement des déclencheurs du menu ...
  • En interne, ce dpkgqui est appelé le postinstscript pour chacun de ces packages avec l' triggeredoption de ligne de commande et zéro ou plusieurs options de déclenchement.

  • Donc, vous ouvrez simplement /var/lib/dpkg/info/PACKAGE.postinst(c'est un script bash), et cherchez simplement ce qui se passe quand $1esttriggered

Exemple: man-dbdéclencheurs

L' un des plus communs « déclencheurs de traitement » vous voyez est pour man-db, chaque fois que le paquet en cours d' installation a un homme page.

Si vous ouvrez /var/lib/dpkg/info/man-db.postinst, vous trouverez cette section:

si ["$ 1" = déclenché]; ensuite
    # Nous n'imprimons pas de message d'état ici, comme l'a déjà dit dpkg
    # "Traitement des déclencheurs pour man-db ...".
    run_mandb -pq
    sortie 0
Fi

Ainsi, vous pouvez voir que Processing triggers for man-db ...la run_mandbfonction (également trouvée dans le postinstscript) est exécutée avec l' -pqoption.

Ressources utiles:

  1. Essayer de rendre les déclencheurs dpkg plus utiles et moins douloureux
  2. déclencheurs dpkg, le document pratique perdu

Pourquoi c'est si lentement?!
Antonio Petricca
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.