システム単位ファイル:あるサービスまたは別のサービスに依存する方法は?

システム単位ファイル:あるサービスまたは別のサービスに依存する方法は?

=サービスAまたはサービスBが必要な単位ファイルを作成していますが、どちらも問題ありません。これをどのように指定しますか?

ベストアンサー1

最も簡単な方法は、AまたはBのテストを追加することです。ExecStartPre

[Unit]
Description=this unit needs A or B

[Service]
ExecStartPre=/bin/bash -c '/usr/bin/systemctl is-active --quiet A || /usr/bin/systemctl is-active --quiet B'
ExecStart=/the/actual/command

別のアプローチは、AまたはBを別々のサービス単位でテストすることです。

[Unit]
Description=this service is active if A or B are present

[Service]
[Unit]                                                                                                                                                                                                     
Description=test for A or B                                                                                                                                                                                
                                                                                                                                                                                                           
[Service]                                                                                                                                                                                                  
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/bash -c '/usr/bin/systemctl is-active --quiet A || /usr/bin/systemctl is-active --quiet B'

A_B_checker.service次に、基本サービスに依存関係を追加します。

おすすめ記事