你真的不需要知道我使用的技术来回答我的问题. 你只需要了解 dpkg 和它的触发器。
我正在使用编排工具 (mcollective) 在某些运行 Ubuntu 16.04 的远程主机上触发配置管理 (puppet 3)。Puppet 使用 apt-get 安装一些我需要更新的软件包。这些软件包包括位于 mcollective 拥有的目录中的文件。如下所示:
mcollective > puppet > apt-get > dpkg > /some/dir/mcollective/myfile > dpkg-trigger
问题是,当 dpkg 处理安装后触发器时,它会重新启动 mcollective(它在目录上有一个触发器)。停止 mcollective 会终止 puppet、apt-get 和 dpkg 本身。
此后,上述所有进程都将停止运行,这意味着我无法再使用 mcollective 来控制主机。我必须手动登录并修复所有问题(包括dpkg --configure -a
任何 apt-get 工具运行之前)。
问题:有什么方法可以更新 .deb 以不触发 mcollective 的重启?也许我可以将某些内容放入控制文件中?