งานเริ่มทำงานกำลังรอการกำหนดค่าเครือข่าย เซิร์ฟเวอร์ Ubuntu 17.10


39

ฉันเพิ่งติดตั้งเซิร์ฟเวอร์อูบุนตูบนแล็ปท็อปของฉันและทุกอย่างทำงานได้ดียกเว้นว่าตอนบูตถ้าแล็ปท็อปไม่ได้เชื่อมต่อกับอีเธอร์เน็ตหรืออยู่ในช่วง Wi-Fi ของฉันฉันได้รับข้อความนี้ "งานเริ่มทำงานกำลังรอเครือข่าย ได้รับการกำหนดค่า "ที่คงอยู่ประมาณ 2 นาที ฉันค้นหาวิธีแก้ไขปัญหาทางออนไลน์และพยายาม:

  • ปิดการใช้งานตัวจัดการเครือข่าย
  • แก้ไขการตั้งค่าการหมดเวลาใน /etc/systemd/system.conf
  • ปิดใช้งาน systemd.networkd-wait-online.service

วิธีแก้ปัญหาเหล่านี้ไม่เหมาะกับฉัน การแก้ไขใด ๆ ที่เป็นไปได้?


นั่นคือการแก้ไข หลังจากการเปลี่ยนแปลงแต่ละครั้งคุณทำการโหลด NM / systemd อีกครั้งหรือไม่ พวกเขาอ่านไฟล์กำหนดค่าเมื่อเริ่มต้นเท่านั้น
user535733

ใช่ฉันใช้ systemctl daemon-reload ยังคงเป็นผลลัพธ์เดียวกัน
vlad27 27

คำตอบ:


39

ใช้

systemctl disable systemd-networkd-wait-online.service

เพื่อปิดใช้งานบริการ wait-online เพื่อป้องกันไม่ให้ระบบรอการเชื่อมต่อเครือข่ายและใช้งาน

systemctl mask systemd-networkd-wait-online.service

เพื่อป้องกันไม่ให้บริการเริ่มต้นหากมีการร้องขอโดยบริการอื่น (บริการนี้เชื่อมโยงกับ/dev/null)


การกำบังในบริบทนี้หมายถึงอะไร?
Jaime Hablutzel

มันได้ผล :) คุณช่วยอธิบายสิ่งที่เราทำที่นี่ได้ไหม? ฉันแค่อยากรู้
SD

3
@SD @ Jaime-hablutzel ดูaskubuntu.com/a/816378/445084systemctl maskสำหรับคำอธิบายของ สั้นเรื่องสั้น: การปิดบังบริการเปลี่ยนเส้นทางไปยัง/dev/nullป้องกันไม่ให้เปิดใช้งานอีกครั้งในกรณีที่บริการอื่นจำเป็นต้องใช้
timelmer

31

อย่าปิดบังหรือปิดใช้งานบริการ systemd

แก้ไข/etc/netplan/01-netcfg.yamlและเพิ่มoptional: trueอุปกรณ์ใด ๆ ที่อาจไม่สามารถใช้ได้

sudo netplan apply

1
ในกรณีของฉันมันทำงานหลังจากตั้งค่าอินเตอร์เฟสทั้งหมดเป็นทางเลือก: true
duli

1
สิ่งนี้เหนือกว่าการปิดใช้งานบริการ systemd หรือไม่
Andreas Hartmann

สำหรับฉันด้วย Ubuntu 18.04 บน Vmware ไฟล์ที่เกี่ยวข้องคือ /etc/netplan/50-cloud-init.yaml; การเพิ่มทางเลือก: จริงและรีบูตทำงานได้! หัวข้อที่เกี่ยวข้อง: askubuntu.com/questions/1090631/... ข้อมูลที่เกี่ยวข้องกับ netplan: linux.com/learn/intro-to-linux/2018/9/… (การกำหนดค่า DHCP)
Snidhi Sofpro

สิ่งนี้ใช้ได้กับฉันกับ Ubuntu 18.04.03 LTS (เดสก์ท็อป) ที่ฉันปิดใช้งาน NetworkManager และตั้งค่า networkd ด้วย netplan, ans ตั้งค่า br0 สำหรับ virtualisation kdvm / qenu และแคช DNS กับ dnsmaquerade ใหม่กว่าไม่พบสิ่งที่ผิดพลาดกับการตั้งค่าของฉัน แต่ booys ใช้เวลานานกว่า 2 นาทีโดยไม่จำเป็น: การตั้งค่าจริง การตั้งค่าการบูตนั้นเป็นเรื่องปกติ
Reijo Korhonen

9

วิธีsystemd-networkd-wait-online.serviceนี้แขวนอยู่ มีข้อบกพร่องบางอย่างที่รู้จักกับมัน ตรวจสอบบริการที่ต้องการnetwork-online.targetด้วย:

systemctl show -p WantedBy network-online.target

คุณสามารถปิดใช้งานบริการเหล่านั้นได้หากต้องการ มิฉะนั้นคุณอาจจะต้องสวมหน้ากากบริการเป็น Mr.Ecco ระบุ


2

การปิดบังsystemd-networkd-wait-online.serviceดังที่แนะนำในคำตอบอื่น ๆ อาจช่วยในการตั้งค่าแบบง่าย ๆ แต่ไม่สามารถแก้ไขปัญหา ถ้าคุณปิดบังบริการแล้วบริการอื่น ๆ ทั้งหมดขึ้นอยู่กับว่ามันจะล้มเหลว นั่นหมายความว่าบริการทั้งหมดที่จำเป็นต้องรอจนกว่าเครือข่ายออนไลน์จะล้มเหลว

ฉันทำงานเป็นปัญหานี้เพราะผมใช้แบบไดนามิกไม่เกินการติดตั้งสำหรับแล็ปท็อปของฉันกับพันธะแบบมีสาย (enp9s0) และไร้สายอินเตอร์เฟซ (wlp12s0) ที่ถูกนำมาใช้เป็นทาสสำหรับอินเตอร์เฟซหลักbond0 คุณมีสถานการณ์เดียวกันนี้แน่นอนถ้าคุณใช้บริดจ์ ( 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=มีความสำคัญเนื่องจากจะปิดใช้งานคำสั่ง "เก่า" คุณสามารถตรวจสอบมากกว่าบนอินเทอร์เฟซ (ดูวิธีใช้)


ยอดเยี่ยมและคำตอบที่ดีมากนั่นเป็นปัญหาของฉันอย่างแน่นอน
kaklon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.