我有几个自定义的.debs,我已经建立。他们都依赖于Apache,升级任何软件包后需要重新启动apache。在.deb安装之后触发apache重新启动的好方法是什么?
从postinst天真地重新启动apache我得到每个包升级,这是非常缓慢的重新启动。有谁知道是否有避免这种情况的好方法? Dpkg触发器似乎是正确的方法,但我似乎无法找到很多文档的方式。 apache是否定义了自己的激活触发器?如果是这样,我该怎么称呼它?
我有几个自定义的.debs,我已经建立。他们都依赖于Apache,升级任何软件包后需要重新启动apache。在.deb安装之后触发apache重新启动的好方法是什么?
从postinst天真地重新启动apache我得到每个包升级,这是非常缓慢的重新启动。有谁知道是否有避免这种情况的好方法? Dpkg触发器似乎是正确的方法,但我似乎无法找到很多文档的方式。 apache是否定义了自己的激活触发器?如果是这样,我该怎么称呼它?
是的,dpkg触发器在这里是正确的方法。不,我不相信有任何先前存在的触发器为你解决这个问题。
在其最简单的,你的设置可能包括类似以下内容:
DEBIAN/triggers
文件应该包含一行,如interest apache-coordination-reload
。postinst
应该处理它被调用的说法“triggered
”并在“apache-coordination-reload
”的情况则介于第二个参数,通过最好是通过invoke-rc.d
或类似的东西执行实际的apache重装或重启(,所以运行级别受到尊重)。apache-coordination-reload
触发器。这可以通过运送DEBIAN/triggers
文件来完成,其中每个文件包含activate apache-coordination-reload
。链接到触发器的文档将很有用:http://sources.debian.net/src/dpkg/stable/doc/triggers.txt/ – richvdh 2015-08-13 15:10:00
我假设这是你已经看过的资源之一(并且决定是不够的):http://www.seanius.net/blog/2009/09/dpkg-triggers-howto/ – 2011-06-01 01:11:15
我看了一下,但是,虽然它提到了apache,但它没有提供关于如何去做的细节(并且git链接被破坏)。我希望这样做是很普遍的事情,有人可能知道一个优雅的解决方案(如提供触发器的Apache)。 – Fasaxc 2011-06-01 01:58:58