我已经构建了几个自定义 .deb。它们都依赖于 apache,升级任何包 apache 后都需要重新启动。
从 postinst 天真地重新启动 apache 我会为我升级的每个包重新启动,这真的很慢。有谁知道是否有避免这种情况的好方法?Dpkg 触发器似乎是正确的方法,但我似乎找不到太多的文档方式。apache是否定义了自己的触发器来激活。如果是这样,我该如何称呼它?
是的,dpkg 触发器在这里是正确的方法。不,我不相信有任何预先存在的触发器可以为你解决这个问题。
在最简单的情况下,您的设置可能包括以下内容:
DEBIAN/triggers
文件应该包含类似interest apache-coordination-reload
.postinst
应该通过执行实际的 apache 重新加载或重新启动(理想情况下通过或类似的方式,以便尊重运行级别)来处理使用参数“ triggered
”调用并且“ ”在第二个参数中某处的情况。apache-coordination-reload
invoke-rc.d
apache-coordination-reload
触发器。这可以通过DEBIAN/triggers
为每个包含activate apache-coordination-reload
.