systemdサービスAには「衝突= B」があります。 AとBの両方が有効になっています。起動時に起動が許可されているサービス(ある場合)がわかりますか?それともランダムに始まりますか?

systemdサービスAには「衝突= B」があります。 AとBの両方が有効になっています。起動時に起動が許可されているサービス(ある場合)がわかりますか?それともランダムに始まりますか?

Debian 9にパッケージをインストールすると、firewalldパッケージも一緒にインポートされますebtables。これはシステムに2つのサービスを追加し、通常どおりfirewalldDebianebtablesは両方のサービスを有効にします。

firewalld.serviceと表示されますConflicts=ebtables.service

システムが起動すると、これら2つのサービスはどうなりますか?どちらがうまくいくのかわかりますか?それともどちらも実行できませんか?

答え1

デバイスBと競合するデバイスAがデバイスBと同時に起動するようにスケジュールされている場合、トランザクションは失敗するか(両方がトランザクションの一部である場合)、変更されるように変更されます(必要なものの1つまたは両方の場合)。タスクは取引の不可欠な部分ではありません)。後者の場合、不要なタスクが除去された場合、またはその両方が不要な場合、競合するデバイスが起動し、競合するデバイスが停止します。

-男性システムユニット

この場合、およびは両方でfirewalld.serviceはありebtables.serviceません。WantedBy=multi-user.targetRequiredBy=

結論として: firewalld.service起動も開始ebtables.serviceもされません。


設置直後に何が起こるのかわかりませんfirewalld。幸い、最初ebtablesにインストールしたので結果は同じです。このシーケンスは、一時的に開始され、ebtables.service開始後に停止することを意味します。firewalld.service

あるユニットが別のユニットに衝突=を設定した場合、前者を起動すると後者は停止し、その逆の場合も同様です。

関連情報