3

作成したカスタム.debsがいくつかあります。それらはすべてapacheに依存しており、パッケージのアップグレード後にapacheを再起動する必要があります。

postinstからapacheを素朴に再起動すると、アップグレードするパッケージごとに再起動が発生しますが、これは非常に低速です。それを回避する良い方法があるかどうか誰かが知っていますか?Dpkgトリガーは正しいアプローチのようですが、ドキュメンテーションの方法で多くを見つけることができないようです。apacheは、アクティブ化するための独自のトリガーを定義しますか?もしそうなら、私はそれをどのように呼ぶのですか?

4

1 に答える 1

1

はい、ここではdpkgトリガーが正しいアプローチです。いいえ、この問題を解決するための既存のtrigger-fuはないと思います。

最も単純なセットアップは、次のようなもので構成されている可能性があります。

  • いくつかの一般的なパッケージ。これには、apacheを使用するすべてのdebsが依存します。それを「apache-coordination」と呼びましょう。
  • apache-coordinationのDEBIAN/triggersファイルには、のような行が含まれている必要がありますinterest apache-coordination-reload
  • apache-coordinationは、実際のapacheのリロードまたは再起動を実行することにより、引数 " "でpostinst呼び出され、 " "が2番目の引数のどこかにある場合を処理する必要があります(理想的には、ランレベルが尊重されるように)。triggeredapache-coordination-reloadinvoke-rc.d
  • 他のパッケージは、必要apache-coordination-reloadに応じてトリガーをアクティブにする必要があります。DEBIAN/triggersこれは、を含む各ファイルのファイルを出荷することで実行できますactivate apache-coordination-reload
于 2012-05-07T20:58:59.813 に答える