मास्किंग systemd-networkd-wait-online.service
, जैसा कि अन्य उत्तरों में सुझाया गया है, साधारण सेटअप में मदद कर सकता है लेकिन यह समस्या को ठीक नहीं करता है। यदि आप इस सेवा को मास्क करते हैं तो इसके आधार पर अन्य सभी सेवाएं भी विफल हो जाएंगी। इसका मतलब है, नेटवर्क ऑनलाइन होने तक प्रतीक्षा करने के लिए आवश्यक सभी सेवाएं विफल हो जाएंगी।
क्योंकि मैं एक गतिशील का उपयोग असफल ओवर के साथ अपने लैपटॉप के लिए सेटअप मैं इस समस्या में पड़ संबंध वायर्ड (enp9s0) और वायरलेस (wlp12s0) इंटरफेस है कि मुख्य इंटरफ़ेस के लिए दास के रूप में उपयोग किया जाता है bond0 । यदि आप एक पुल ( दास इंटरफेस के साथ br0 ) का उपयोग करते हैं, तो ठीक यही स्थिति आपके पास है । केवल मुख्य इंटरफेस बंध 0 या 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
प्रोग्राम सिस्टमड-नेटवर्कड-वेट-ऑनलाइन में विशिष्ट इंटरफेस का परीक्षण करने के लिए एक पैरामीटर है। के साथ जाँच करें /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=
महत्वपूर्ण है क्योंकि यह "पुराने" कमांड को निष्क्रिय करता है। आप इंटरफ़ेस से अधिक के लिए जाँच कर सकते हैं (मदद देखें)।