2011-06-01 68 views
3

我有幾個自定義的.debs,我已經建立。他們都依賴於Apache,升級任何軟件包後需要重新啓動apache。在.deb安裝之後觸發apache重新啓動的好方法是什麼?

從postinst天真地重新啓動apache我得到每個包升級,這是非常緩慢的重新啓動。有誰知道是否有避免這種情況的好方法? Dpkg觸發器似乎是正確的方法,但我似乎無法找到很多文檔的方式。 apache是​​否定義了自己的激活觸發器?如果是這樣,我該怎麼稱呼它?

+1

我假設這是你已經看過的資源之一(並且決定是不夠的):http://www.seanius.net/blog/2009/09/dpkg-triggers-howto/ – 2011-06-01 01:11:15

+0

我看了一下,但是,雖然它提到了apache,但它沒有提供關於如何去做的細節(並且git鏈接被破壞)。我希望這樣做是很普遍的事情,有人可能知道一個優雅的解決方案(如提供觸發器的Apache)。 – Fasaxc 2011-06-01 01:58:58

回答

1

是的,dpkg觸發器在這裏是正確的方法。不,我不相信有任何先前存在的觸發器爲你解決這個問題。

在其最簡單的,你的設置可能包括類似以下內容:

  • 一些常用的包,在其所有使用Apache的deb包的依賴。我們稱之爲「apache-coordination」。
  • apache-coordination's DEBIAN/triggers文件應該包含一行,如interest apache-coordination-reload
  • Apache的協調的postinst應該處理它被調用的說法「triggered」並在「apache-coordination-reload」的情況則介於第二個參數,通過最好是通過invoke-rc.d或類似的東西執行實際的apache重裝或重啓(,所以運行級別受到尊重)。
  • 您的其他軟件包應在適當時激活apache-coordination-reload觸發器。這可以通過運送DEBIAN/triggers文件來完成,其中每個文件包含activate apache-coordination-reload
+0

鏈接到觸發器的文檔將很有用:http://sources.debian.net/src/dpkg/stable/doc/triggers.txt/ – richvdh 2015-08-13 15:10:00

相關問題