Debianでポリシーに準拠したシステムカスタマイズタスクを実装するには?

Debianでポリシーに準拠したシステムカスタマイズタスクを実装するには?

カスタム作業とはどういう意味ですか?ここにいくつかの例があります。

sudo service apache2 stop-htcacheclean   
sudo service apache2 graceful-stop
sudo service apache2 start-htcacheclean
sudo service apparmor recache

sysvinitスクリプトをsystemdサービスに移植するときにこれをどのように再実装しますか?

systemdの問題は、区別デーモンパラメータを条件付きで使用できないことです。

Debian ポリシーに従いながらこれを行うには?

それとも、すでにそのようなカスタム/レガシータスクをサポートしているDebianシステムサービスの例を知っていますか?

ベストアンサー1

systemd は単位のカスタム操作をサポートしません。

「理由」を説明してください。単位は(主に)依存関係グラフに参加することです。カスタムアクションを追加することは、カスタムタイプの依存関係を追加する方法があることを意味します。これにより、構文とロジックが不必要に複雑になります。

実際、「一つのユニット - 一つの行動」というルールとして考えることもできます。アプリケーションごとに複数のユニットを持つことを防ぐことはできません$application-$action。たとえば、次のようになります。

  • apache2 graceful-stopおそらく、Apacheを停止する基本的な方法であるはずです。(異常な停止の場合は常に存在するsystemctl kill
  • apache2 {start,stop}-htcachecleanapache2-htcacheclean.service単位に直接変換する必要があります。
  • apparmor recacheExecReload=~にいるかもしれないapparmor.service (また apparmor-recache.serviceはとは別のデバイスType=oneshot

おすすめ記事