カスタム作業とはどういう意味ですか?ここにいくつかの例があります。
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}-htcacheclean
apache2-htcacheclean.service
単位に直接変換する必要があります。apparmor recache
ExecReload=
~にいるかもしれないapparmor.service
(またapparmor-recache.service
はとは別のデバイスType=oneshot
)