Có một công cụ để xác nhận các tập tin / etc / mạng / giao diện không?


26

Tôi luôn muốn kiểm tra các tệp cấu hình mới trước khi triển khai chúng - với các công cụ như apachectl configtestnamed-checkconf.

Thật hiếm khi sai lầm mọc lên, nhưng bắt chúng trước khi triển khai sẽ loại bỏ mọi tác động. Người đã cắn tôi ở phía sau nhiều lần là /etc/network/interfaces; Tôi dường như không thể tìm thấy một công cụ để kiểm tra nó và việc khởi động lại mạng trên một máy từ xa chỉ để phát hiện ra nó không thể truy cập được nữa là khá khó chịu - đặc biệt là khi chúng tôi sử dụng nhiều liên kết và bắc cầu.

Câu trả lời:


24

Để mở rộng dựa trên câu trả lời của @ jdthood ...

Nếu giao diện đã sẵn sàng, bạn vẫn có thể sử dụng phương pháp này để xác thực /etc/network/interfacestệp. Ví dụ: giả sử bạn có lỗi, bạn có thể thấy một cái gì đó như thế này:

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

Rõ ràng có lỗi trên dòng 11. Tuyệt vời. Cảm ơn trời, tôi đã không trả lại mạng chỉ để mất quyền truy cập SSH!

Nếu tất cả đều ổn, bạn sẽ thấy:

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

9

Sau đây có thể làm một phần của những gì bạn muốn.

ifup --no-act eth0

6

Nếu bạn không có eth0 thì nó sẽ không hoạt động, vd:

Ignoring unknown interface eth0=eth0.

Nhưng nếu bạn làm như thế này:

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

Với cấu hình ok:

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

Với cấu hình không ok:

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.