安装.deb后触发apache重启的好方法是什么?

时间:2011-06-01 01:08:14

标签: apache triggers deb dpkg

我有几个我自己构建的自定义.debs。它们都依赖于apache,并且在升级任何软件包后需要重新启动apache。

从postinst中天真地重新启动apache我为每个升级的程序包重新启动,这非常慢。有谁知道是否有一个避免这种情况的好方法? Dpkg触发器似乎是正确的方法,但我似乎找不到文档的方式。 apache是​​否定义了自己的激活触发器。如果是这样,我该怎么称呼它?

1 个答案:

答案 0 :(得分:1)

是的,dpkg触发器在这里是正确的方法。不,我不相信有任何预先存在的触发器可以为你解决这个问题。

最简单的说,您的设置可能包含以下内容:

  • 一些常见的包,所有使用apache的deb都依赖于它。我们称之为“#ache; apache-coordination"。
  • apache-coordination的DEBIAN/triggers文件应包含interest apache-coordination-reload之类的行。
  • apache-coordination' s postinst应该处理使用参数" triggered"来调用它的情况。和#34; apache-coordination-reload"在第二个参数中的某个位置,通过执行实际的apache重新加载或重新启动(理想情况下通过invoke-rc.d或类似的东西,以便运行级别得到尊重)。
  • 您的其他软件包应在适当时激活apache-coordination-reload触发器。这可以通过为包含DEBIAN/triggers
  • 的每个文件发送activate apache-coordination-reload个文件来完成