รีสตาร์ทเครือข่ายบน Debian Jessie


14

ฉันต้องการทราบว่าวิธีใดที่เหมาะสมในการเริ่มบริการเครือข่ายใน Debian Jessie ฉันรู้ว่าฉันสามารถใช้:

service networking restart

หรือ

/etc/init.d/networking restart

อย่างไรก็ตามมีปัญหากับการเชื่อมต่อ ssh หรือ

invoke-rc.d networking restart

และอีกสองวิธีมีsystemctlและifup / ifdown

แต่วิธีไหนที่ถูกต้องที่จะทำ?


ลองถามที่unix.stackexchange.comพวกเขามีความรู้เกี่ยวกับรสชาติและภาษาของ Linux ต่างกัน
Massimo

1
โอ้และคำสั่งสามคำแรกนั้นเทียบเท่ากันโดยทั่วไปserviceและinvoke-rc.dเรียก/etc/init.d/servicenameด้วยตัวเลือกเดียวกันเท่านั้นที่ได้รับ
Massimo

ยังดูที่นี่: unix.stackexchange.com/questions/136481/...
Massimo

คำตอบ:


12

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

service networking restart

และฉันจะรันมันอย่างแน่นอนในscreenเซสชั่นหรือโดยวิธีการอื่นเพื่อให้แน่ใจว่ามันจะไม่ล้มเหลวในกรณีที่คุณสูญเสียการเชื่อมต่อกับเชลล์ที่คุณพิมพ์ (ฉันพยายามที่จะสูญเสียการเชื่อมต่อกับเครื่องโดยการเข้าสู่ระบบด้วยsshแล้วรีสตาร์ทเครือข่ายเท่านั้นเพื่อให้การเชื่อมต่อ ssh สิ้นสุดลงในขณะที่เครือข่ายไม่ทำงานและส่ง HUP ไปserviceเช่นนั้นจะไม่ทำให้เครือข่ายขึ้นมาอีก)

ในอดีตมีระบบที่serviceมีเสื้อคลุมเรียบง่ายรอบสคริปต์ใน/etc/init.dและสองคำสั่งแรกของคุณจะทำสิ่งเดียวกัน แต่ทุกวันนี้มีระบบที่serviceบางครั้งจะทำอะไรที่แตกต่างออกไปและโดยทั่วไปserviceก็รู้ดีกว่าว่าจะทำอย่างไรกับการแจกจ่ายเฉพาะของคุณ และinvoke-rc.dยังขึ้นอยู่กับการกระจายสินค้า

แม้ว่าserviceจะเหมือนกันมากที่สุดในการกระจาย แต่ก็ยังเป็นไปได้ที่ชื่อบริการจะแตกต่างกัน ตัวอย่างเช่นมีการกระจายที่ให้บริการเป็นชื่อnetworkและอื่น ๆ networkingซึ่งจะมีการตั้งชื่อ และในการกำหนดค่าบางอย่างมันอาจจะเหมาะสมกว่าที่จะเริ่มต้นใหม่มากกว่าnetwork-managernetworking


ขอบคุณสำหรับคำอธิบายชัดเจนมาก! ครั้งต่อไปฉันจะใช้หน้าจอพร้อมกับคำสั่งบริการที่กล่าวถึงก่อนหน้านี้
cloud81

3
มันไม่ได้เลิกใช้บริการในระบบ systemd เลย?
greenone83

@ greenone83 ไม่มีการบ่งชี้ใน man page เกี่ยวกับคำสั่งที่เลิกใช้แล้ว ในทุกระบบที่ฉันเห็นมันเป็นสคริปต์ตัวห่อหุ้มที่สะดวกรอบ ๆ ระบบ init ใด ๆ ที่การกระจายกำลังใช้งานอยู่ และได้รับการปรับปรุงเมื่อ init ได้รับการออกแบบใหม่ ซึ่งหมายความว่าคุณสามารถใช้serviceคำสั่งเดียวกันนี้ได้เมื่อ 10 ปีก่อนและมันจะทำสิ่งที่ถูกต้องแม้ว่าสคริปต์ init พื้นฐานจะทำงานแตกต่างกันโดยสิ้นเชิง
kasperd

@kasperd นี่เป็นคำอธิบายของฉัน ... unix.stackexchange.com/questions/240528/ ......คุณทำได้ ... แต่คุณอาจรบกวน systemd
greenone83

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