มีเครื่องมือสำหรับการตรวจสอบไฟล์ / etc / network / interfaces หรือไม่?


26

ฉันมักจะชอบไปทดสอบ config ไฟล์ใหม่ก่อนที่จะปรับใช้พวกเขา - ด้วยเครื่องมือเช่นและapachectl configtestnamed-checkconf

เป็นเรื่องยากที่ความผิดพลาดจะเกิดขึ้น แต่การจับมันก่อนการปรับใช้จะช่วยลดผลกระทบใด ๆ คนที่มีฉันอยู่ด้านหลังหลายต่อหลายครั้งคือ/etc/network/interfaces; ฉันไม่สามารถหาเครื่องมือที่จะทดสอบได้และการรีสตาร์ทเครือข่ายบนเครื่องระยะไกลเพียงเพื่อจะพบว่ามันไม่สามารถเข้าถึงได้อีกต่อไปแล้วเป็นเรื่องที่น่ารำคาญมาก - โดยเฉพาะอย่างยิ่งเมื่อเราใช้การเชื่อมและเชื่อมโยง

คำตอบ:


24

หากต้องการขยายคำตอบของ @ jdthood ...

หากอินเทอร์เฟซขึ้นแล้วคุณยังสามารถใช้วิธีนี้เพื่อตรวจสอบความถูกต้องของ/etc/network/interfacesไฟล์ ตัวอย่างเช่นสมมติว่าคุณมีข้อผิดพลาดคุณอาจเห็นสิ่งนี้:

$ sudo ifup --no-act eth0
/etc/network/interfaces:11: unknown method
ifup: couldn't read interfaces file "/etc/network/interfaces"

เห็นได้ชัดว่ามีข้อผิดพลาดในบรรทัดที่ 11 ยอดเยี่ยม ขอบคุณสวรรค์ฉันไม่ได้ตีกลับระบบเครือข่ายเท่านั้นที่จะสูญเสียการเข้าถึง SSH!

หากทุกอย่างเรียบร้อยคุณจะเห็น:

$ sudo ifup --no-act eth0
ifup: interface eth0 already configured

9

ต่อไปนี้อาจเป็นส่วนหนึ่งของสิ่งที่คุณต้องการ

ifup --no-act eth0

6

หากคุณไม่มี eth0 สิ่งนี้จะไม่ทำงานเช่น:

Ignoring unknown interface eth0=eth0.

แต่ถ้าคุณทำสิ่งนี้:

ifup -a --no-act ; echo "status: $?"

ด้วยการกำหนดค่า ok:

ifup -a --no-act ; echo "status: $?"
run-parts  /etc/network/if-pre-up.d
run-parts  /etc/network/if-up.d
status: 0

ด้วยการกำหนดค่าที่ไม่ตกลง:

ifup -a --no-act ; echo "status: $?"
/etc/network/interfaces:12: option with empty value
ifup: couldn't read interfaces file "/etc/network/interfaces"
status: 1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.