構成する必要があるシステム装置は2つあります。どちらも構成ファイルを特定の場所に設定する必要があるため(それぞれ独自の構成場所があるため)、すべて独自の構成ConditionPathExists
ファイルが構成されています。
同じポートでリッスンしているため、互いに競合します。だから彼らはまた構成しましたConflicts=
ただし、両方の構成ファイルが存在する場合(通常の状況では発生しませんが発生する可能性がある場合)、サービスBの代わりにサービスAを開始したいと思います。このために何を構成する必要がありますか?
答え1
両方のユニットがキューに追加され、他のすべてが同じ場合(つまり、両方のユニットが同じWants =依存関係を介してプルされます)デバイスにConflicts=
開始単位になり、「他のコンテンツと競合する」単位はスキップされます。
答え2
Systemdの優先順位の設定はわかりませんが、Systemd機能を使用して目標を達成できます。
# a.service
ConditionPathExists=/path/to/configfile.a
# b.service
ConditionPathExists=!/path/to/configfile.a
ConditionPathExists=/path/to/configfile.b