Gibt es eine Möglichkeit zu sehen, was genau die "Verarbeitungs-Trigger" pro Paket-Basis tun?

13

Wie ich verstanden habe, führt der übliche " Verarbeitungstrigger für & lt; Paketname & gt; " einige paket- und systemspezifische Aufgaben aus, wie das Hinzufügen von Elementen zu einem Startmenü oder das Aktualisieren einer Konfigurationsdatei . Gibt es einen tatsächlichen Weg zu sehen, was genau in diesem Schritt getan oder geändert wird? Wo kann man das genaue Verhalten des Schrittes finden?

    
zxcdw 22.08.2012, 01:57
quelle

1 Antwort

15

Es gibt, aber es erfordert einige Bash-Skripte für die Pakete ausgelöst werden.

  • Angenommen, die Ausgabe dpkg sieht folgendermaßen aus:

    Preparing to replace zim 0.52-1 (using .../archives/zim_0.52-1_all.deb) ...
    Unpacking replacement zim ...
    Processing triggers for shared-mime-info ...
    Processing triggers for menu ...
  • Intern% dpkg ruft das Skript postinst für jedes dieser Pakete mit der Befehlszeilenoption triggered und null oder mehr Triggeroptionen auf.

  • Also, öffne einfach /var/lib/dpkg/info/PACKAGE.postinst (es ist ein Bash-Skript) und schau einfach nach, was passiert, wenn triggered ist

Beispiel: man-db triggert

Einer der häufigsten "Verarbeitungstrigger", den Sie sehen werden, ist für man-db , wenn das zu installierende Paket eine man Seite hat.

Wenn Sie /var/lib/dpkg/info/man-db.postinst öffnen, finden Sie diesen Abschnitt:

if [ "" = triggered ]; then
    # We don't print a status message here, as dpkg already said
    # "Processing triggers for man-db ...".
    run_mandb -pq
    exit 0
fi

Sie können also sehen, dass Processing triggers for man-db ... einfach dazu führt, dass die Funktion run_mandb (auch im Skript postinst ) mit der Option -pq ausgeführt wird.

  

Hilfreiche Ressourcen:

     
  1. Versuchen, dpkg-Trigger mehr zu machen nützlich und weniger schmerzhaft
  2.   
  3. dpkg triggers, das verlorene How-to-Dokument
  4.   
    
ish 22.08.2012, 04:22
quelle

Tags und Links