Masking systemd-networkd-wait-online.service
, seperti yang disarankan dalam jawaban lain, dapat membantu dalam pengaturan sederhana tetapi tidak memperbaiki masalah. Jika Anda menutupi layanan tersebut, maka semua layanan lain yang bergantung padanya juga akan gagal. Itu artinya, semua layanan yang diperlukan untuk menunggu hingga jaringan online akan gagal.
Saya mengalami masalah ini karena saya menggunakan dynamic gagal-lebih setup untuk laptop saya dengan ikatan yang kabel (enp9s0) dan (wlp12s0) nirkabel antarmuka yang digunakan sebagai budak untuk antarmuka utama bond0 . Situasi yang persis sama yang Anda miliki jika Anda menggunakan jembatan ( br0 dengan antarmuka slave). Hanya antarmuka utama bond0 atau br0 yang akan online tetapi bukan budak sehingga systemd-networkd-wait-online.service
akan gagal pada budak.
Solusi untuk masalah ini adalah memodifikasi layanan dan memeriksa hanya untuk antarmuka yang harus online. Anda akan menemukan dengan:
~$ 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
Program systemd-networkd-wait-online memiliki parameter untuk menguji antarmuka tertentu. Periksa dengan /lib/systemd/systemd-networkd-wait-online --help
. Jadi saya membuat file drop in untuk memodifikasi layanan:
~$ sudo systemctl edit systemd-networkd-wait-online.service
Di editor kosong masukkan pernyataan ini, tentu saja dengan antarmuka Anda, simpan mereka yang keluar dari editor:
[Service]
ExecStart=
ExecStart=/lib/systemd/systemd-networkd-wait-online --interface=bond0 --quiet
Kosong ExecStart=
penting karena menonaktifkan perintah "lama". Anda dapat memeriksa lebih dari pada antarmuka (lihat bantuan).