失敗したデバイスでsystemdにExecStopを実行させる

失敗したデバイスでsystemdにExecStopを実行させる

ExecStop起動できないと思われるデバイスに対してsystemdにコマンドを実行させる方法はありますか?

私はBuster-backportswireguardパッケージとwireguardのデフォルトのsystemdデバイス(以下の抜粋)を使ってDebian 10システムを実行しています。

デプロイメントをテストするときにsystemdを使用してトンネルが開始されましたが、エラーが発生したため、私の場合はトンネルが生成されましたが、終了コードのためにsystemdがトンネルに失敗しました。これはトンネルが実際に作成されたことを明確にwg show示しており、すべてのパス/ルールが正しく追加されていないだけです。

PostUpを修正した後、1つが必要ですが、エラーが発生します。表示される出力を見てください。 Systemd はトンネルが最初から始まっていないかのように動作します。実行も試してみましたが、デバイスが起動できず、停止がないと思うので、systemdは何もしません。systemctl restart [email protected]systemctl restart [email protected]wg-quick: 'wg0' already existssystemctl stop [email protected]

私は手動でタスクを実行して/usr/bin/wg-quick down wg0systemdを幸せにするようにシステムを作成できることを知っていますが、systemdがサービス状態について混乱していて、何に関係なくExecStopコマンドを実行する必要があると信じる方法はありますか?状態は何だと思いますか?停止と言えば、systemdでExecStop停止を実行したいと思います!通過できる強制オプションや役に立つものがある場合、文書には表示されません。

cat /lib/systemd/system/[email protected]

[Unit]
Description=WireGuard via wg-quick(8) for %I
...

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/wg-quick up %i
ExecStop=/usr/bin/wg-quick down %i
Environment=WG_ENDPOINT_RESOLUTION_RETRIES=infinity
...

関連情報