systemd-networkd-wait-online.service
他の回答で示唆されているように、マスキングは簡単なセットアップには役立つかもしれませんが、問題は解決しません。サービスをマスクすると、それに依存する他のすべてのサービスも失敗します。つまり、ネットワークがオンラインになるまで待機する必要があるすべてのサービスが失敗します。
メインインターフェイスbond0のスレーブとして使用される有線(enp9s0)およびワイヤレス(wlp12s0)インターフェースをボンディングするラップトップの動的フェールオーバーセットアップを使用するため、この問題に遭遇します。ブリッジ(スレーブインターフェイスでbr0)を使用する場合、まったく同じ状況になります。メインインターフェイスbond0またはbr0のみがオンラインになりますが、スレーブはそうではないため、スレーブで失敗します。systemd-networkd-wait-online.service
この問題の解決策は、サービスを変更し、オンラインになるはずのインターフェースのみをチェックすることです。あなたが見つけるでしょう:
~$ sudo systemctl cat systemd-networkd-wait-online.service | grep --after-context=3 '\[Service\]'
[Service]
Type=oneshot
ExecStart=/lib/systemd/systemd-networkd-wait-online
RemainAfterExit=yes
systemd-networkd-wait-onlineプログラムには、特定のインターフェースをテストするためのパラメーターがあります。で確認してください/lib/systemd/systemd-networkd-wait-online --help
。そのため、ファイルをドロップしてサービスを変更します。
~$ sudo systemctl edit systemd-networkd-wait-online.service
空のエディターにこれらのステートメントを挿入します。もちろん、インターフェースとともに、エディターを終了して保存します。
[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet
空ExecStart=
は「古い」コマンドを無効にするため重要です。インターフェース以上のものを確認できます(ヘルプをご覧ください)。