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
是triggered
man-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
选项一起运行。
有用的资源: