DPkg::post-invoke 和 DPkg::post-invoke-success 有什么区别?

qua*_*gar 6 dpkg apt

有两个建议的配置选项可以将安装后挂钩安装到 Debian 的 apt/dpkg 系统中:DPkg::post-invoke(1)DPkg::post-invoke-success(2)

对我来说,post-invoke似乎只能工作,我找不到任何关于post-invoke-success. 有人可以启发我了解差异(如果存在),也许应该使用哪种替代方案?

Ste*_*itt 6

有三个不同的钩子叫做Post-Invokeor Post-Invoke-Success,都由apt工具管理:

  • DPkg::Post-Invoke,在每次执行后调用dpkg(通过apt工具,而不是手动);
  • APT::Update::Post-Invoke-Success,在成功更新后调用(包信息更新,而不是升级);
  • APT::Update::Post-Invoke, 在更新后调用,成功或失败(在前一种情况下,在前一个钩子之后)。

这些分别在apt-pkg/deb/dpkgpm.cc第 1509 行apt-pkg/update.cc第 111 行和第114中处理。没有DPkg::Post-Invoke-Success挂钩,我可以找到。

如果您想为所有dpkg调用添加一个钩子,您应该查看 中的post-invoke钩子/etc/dpkg/dpkg.cfg,它与DPkg::Post-Invoke上面等效,但适用于所有情况,而不仅仅是apt基于dpkg. 要查看所有apt配置选项的示例,请查看/usr/share/doc/apt/examples/configure-index.gz