问题描述
|
我已经构建了几个自定义.deb。它们都取决于apache,并且在升级任何软件包后,apache都需要重新启动。
从postinst天真地重新启动apache,我会为每个升级的软件包重新启动,这确实很慢。有人知道是否有避免这种情况的好方法吗? dpkg触发器似乎是正确的方法,但是我似乎在文档方面找不到很多东西。 Apache是否定义了自己的触发器来激活。如果是这样,我怎么称呼它?
解决方法
是的,这里使用dpkg触发器是正确的方法。不,我不认为有任何预先存在的触发功能可以为您解决此问题。
最简单的说,您的设置可能包含以下内容:
一些常用的软件包,您所有使用Apache的deb都将依赖于该软件包。我们称其为“ apache-coordination \”。
apache-coordination \的
DEBIAN/triggers
文件应包含类似于interest apache-coordination-reload
的行。
apache-coordination \的postinst
应该通过执行实际的apache重载或重新启动(最好通过invoke-rc.d
或ѭ)来处理用参数\“ѭ3” \“和\”and4ѭ\“在第二个参数中的某个位置调用的情况。类似的东西,以便运行级别得到尊重)。
其他软件包应在适当的时候激活apache-coordination-reload
触发器。这可以通过为每个包含“ 8”的文件发送“ 0”文件来完成。