¿Hay alguna manera de ver qué hacen exactamente los "disparadores de procesamiento" por paquete?

15

Como he entendido, los " disparadores de procesamiento para <nombre de paquete > " habituales realizan algunas tareas específicas del paquete y del sistema, como agregar elementos a un menú de inicio o actualizar un archivo de configuración. ¿Hay alguna forma real de ver qué se está haciendo o alterando exactamente durante este paso? ¿Dónde se puede encontrar el comportamiento exacto del paso?

zxcdw
fuente

Respuestas:

16

Hay, pero requiere cavar a través de algunos scripts de bash para los paquetes que se activan.

  • Supongamos que la dpkgsalida se ve así:

    Preparación para reemplazar zim 0.52-1 (usando ... / archives / zim_0.52-1_all.deb) ...
    Desempacando zim de repuesto ...
    Procesando desencadenantes para información-mime compartida ...
    Procesando disparadores para el menú ...
  • Internamente, lo que dpkghace es llamar al postinstscript para cada uno de estos paquetes con la triggeredopción de línea de comandos y cero o más opciones de activación.

  • Entonces, simplemente abre /var/lib/dpkg/info/PACKAGE.postinst(es un script bash), y simplemente busca lo que sucede cuando $1estriggered

Ejemplo: man-dbdisparadores

Uno de los "disparadores de procesamiento" más comunes que verá es para man-db, siempre que el paquete que se instala tenga una página de manual .

Si abre /var/lib/dpkg/info/man-db.postinst, encontrará esta sección:

if ["$ 1" = activado]; luego
    # No imprimimos un mensaje de estado aquí, como ya dijo dpkg
    # "Procesando disparadores para man-db ...".
    run_mandb -pq
    salida 0
fi

Entonces puede ver que Processing triggers for man-db ...simplemente da como resultado que la run_mandbfunción (que también se encuentra en el postinstscript) se ejecute con la -pqopción.

Recursos útiles

  1. Intentar hacer que los disparadores dpkg sean más útiles y menos dolorosos
  2. Disparadores dpkg, el documento instructivo perdido
ish
fuente
¿Por qué es tan lento?
Antonio Petricca