Answers:
有,但是它需要为要触发的程序包挖掘一些bash脚本。
假设dpkg输出如下所示:
准备替换zim 0.52-1(使用... / archives / zim_0.52-1_all.deb)... 开箱替换zim ... 处理shared-mime-info的触发器... 处理菜单的触发器...
在内部,对于每个带有命令行选项以及零个或多个触发器选项的软件包,dpkg都调用postinst脚本triggered。
/var/lib/dpkg/info/PACKAGE.postinst(这是一个bash脚本),并简单地寻找时,会发生什么$1是triggeredman-db触发器man-db每当安装的软件包具有手册页时,您都会看到最常见的“处理触发器”之一。
如果打开/var/lib/dpkg/info/man-db.postinst,则会找到以下部分:
如果[“ $ 1” =已触发]; 然后
#正如dpkg已经说过的,我们不在这里打印状态消息
#“正在处理man-db的触发器...”。
run_mandb -pq
出口0
科幻
因此,您可以看到Processing triggers for man-db ...仅导致该run_mandb功能(也可以在postinst脚本中找到)与该-pq选项一起运行。
有用的资源: