วิธีการเปลี่ยนการหมดเวลาใน systemctl


14

เมื่อฉันบูทระบบ Debian ของฉันการเริ่มต้นจะหยุดทำงานเป็นเวลาประมาณ 2 นาทีในบรรทัด:

Loading, please wait...
[    5.191043] systemd-fsck[129]: /dev/mmcblk0p2: clean, 234192/873120 files, 2335263/3491328 blocks
[    6.645242] intel_rapl: no valid rapl domains found in package 0
[    6.643682] systemd-fsck[222]: fsck.fat 3.0.27 (2014-11-12)
[    6.664844] intel_rapl: no valid rapl domains found in package 0
[    6.660702] systemd-fsck[222]: /dev/mmcblk0p1: 3 files, 33/130812 clusters
[    **] A start job is running for LSB: Raise network interf...38s / no limit)

ในที่สุดก็ยอมแพ้ในการเพิ่มส่วนต่อประสานเครือข่ายและทำการบูทต่อไป

คำถาม:ฉันจะเปลี่ยนการหมดเวลาที่ใช้ไปได้systemctlอย่างไรหลังจาก 15 วินาทีแล้วจะหยุดพยายามที่จะเพิ่มส่วนต่อประสานเครือข่าย

ข้อมูลเพิ่มเติม:สาเหตุของปัญหาคือการใช้ wifi USB dongle ในเครื่องนี้ บางครั้งดองเกิลก็อยู่ที่นั่นบางครั้งก็ไม่ เมื่อดองเกิลไม่ได้เสียบเข้ามาฉันคาดว่าอินเตอร์เฟสเครือข่ายจะไม่ถูกยกระดับและฉันไม่ต้องการรอนานเกินไป

คำตอบ:


9

ผมมีปัญหาที่คล้ายกันและได้รับการเกาหัวของฉันมากกว่าขาดผลลัพธ์ของ Google (หลังจากสิ้นสุดขึ้นที่หน้านี้ไม่กี่ครั้ง) ดังนั้นผมจึงตัดสินใจที่จะเพียงแค่อ่านข้อมูลเกี่ยวกับวิธีการsystemdทำงานที่นี่

ในที่สุดฉันก็พบว่าnetworkingจริงๆแล้วเป็นสคริปต์เริ่มต้น SysV ( /etc/init.d/networking) ซึ่งถูกแปลงเป็นsystemdบริการที่รันไทม์ ( /run/systemd/generator.late/networking.service) ดังนั้นคุณจึงไม่สามารถแก้ไขสคริปต์ที่มีอยู่ได้

แต่คุณต้องแทนที่ด้วยไฟล์ที่เช่น/etc/systemd/system/networking.service.d/reduce-timeout.confในกรณีของคุณมี:

[Service]
TimeoutStartSec=15

7

ในระบบที่ใช้ Debian Jessie ฉันสามารถผนวกรหัสต่อไปนี้ไปยังไฟล์ที่อยู่ที่ /lib/systemd/system/networking.service.d/network-pre.conf

[Service]
TimeoutStartSec=15

สิ่งนี้เปลี่ยน 'ไม่ จำกัด ' ถึงขีด จำกัด 15 วินาทีทำให้ระบบบูตเร็วขึ้นมากหากเครือข่ายถูกตัดการเชื่อมต่อ

การสร้างไฟล์ใน/etc/systemd/system/networking.service.d/ไม่ได้มีผลใด ๆ /lib/systemd/system/networking.service.d/ในระบบนี้เพื่อให้ฉันแก้ไขไฟล์ที่มีอยู่ใน หากไดเรกทอรีนี้ว่างเปล่าการสร้างไฟล์. conf ใหม่ด้วยรหัสด้านบนควรใช้งานได้

ไม่แน่ใจว่าทำไมถึงแตกต่างกันหรือถ้ามันเป็นวิธีที่ถูกต้องในการกำหนดค่าสิ่งนั้น


วิธีนี้ใช้ได้สำหรับฉันเช่นกัน คนที่ยอมรับไม่ได้
Moritz

AFAIK /lib/systemd/...มีไว้สำหรับสคริปต์ต้นฉบับและ/etc/systemd/...สำหรับการเอาชนะในท้องถิ่นดังนั้นฉันจึงไม่แน่ใจว่าทำไมจึงไม่เหมาะกับคุณ ฉันกับเจสซีด้วย
DuBistKomisch

/lib/systemd/system/networking.serviceบรรจุในการยืดเวลาหมดเวลา 5 นาที !!
Philippe Gachoud

5

ฉันมีปัญหาที่คล้ายกันและปรากฎว่าระบบของฉันพยายามเชื่อมต่อกับ Wi-Fi โซลูชันของฉันเกี่ยวข้องกับการเปลี่ยนบรรทัดนี้ใน / etc / network / interfaces:

auto wlan0

ถึง:

allow-hotplug wlan0

มันใช้งานได้ดีสำหรับบอร์ด Asus P5Q ซึ่งมี NIC สี่ตัว (ยากที่จะรู้ว่าหนึ่งในสี่ที่ได้รับมอบหมายเป็น eth0) ฉันเปลี่ยนauto eth0เป็นallow-hotplug eth0\ n allow-hotplug eth1\ n allow-hotplug eth2\ nallow-hotplug eth3
Cauterite

1

นี่เป็นปัญหาในสคริปต์เครือข่ายของ Debian - พวกเขาดูเหมือนจะรอให้อินเทอร์เฟซทั้งหมดปรากฏขึ้นและไม่มีแนวคิดของอินเทอร์เฟซ "ปรากฏแบบไดนามิก" (เช่นsystemd-networkdนั้น)

คุณมีสองวิธี ทางออกแรกคือการลดการหมดเวลาการกำหนดค่า อย่างไรก็ตามดังที่เห็นได้จากเอาท์พุทที่คุณโพสต์ ( ...38s / no limit) systemd ไม่ได้กำหนดให้หมดเวลาในการเริ่มต้นเครือข่าย ดังนั้นนี่คือสิ่งที่คุณต้องกำหนดค่าในสคริปต์เฉพาะ Debian

โซลูชันที่สองคือการใช้เครื่องมือที่ทันสมัยกว่าเพื่อกำหนดค่าเครือข่ายของคุณ (เช่น NetworkManager) ซึ่งรองรับอินเตอร์เฟสที่ปรากฏแบบไดนามิก โปรดทราบว่าsystemd-networkdจะไม่ใช้งานที่นี่มากนักเนื่องจากไม่มีการรองรับเครือข่าย WLAN ในตัว


ขอบคุณสำหรับคำตอบของคุณ โอกาสในการกำหนดค่าการหมดเวลาในsystemdสคริปต์เฉพาะของเดเบียน ตัวชี้ไปยังวิธีการแก้ปัญหาบางอย่างจะได้รับการชื่นชมมาก! (ฉันใช้เวลามากกับ Google และประจักษ์กับตัวเลือกที่ไม่ประสบความสำเร็จจนถึงตอนนี้)
Jealie

@Jealie: ฉันไม่เคยใช้ Debian หรืออนุพันธ์ใด ๆ เลยดังนั้นฉันไม่สามารถช่วยคุณได้ที่นี่ขอโทษ มันจะดีกว่าถ้าคุณเพิ่ม "เดเบียน" แท็กคำถามของคุณ แต่คุณได้ปฏิเสธการแก้ไขปัญหาของฉันที่ตรงที่การเปลี่ยนแปลง ...
intelfx

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