क्या मान्य / आदि / नेटवर्क / इंटरफेस फाइल के लिए एक उपकरण है?


26

मैं हमेशा नई कॉन्फिग फाइलों को टेस्ट करने से पहले उन्हें तैनात करना पसंद करता हूं - जैसे टूल्स apachectl configtestऔर के साथ named-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 पर एक त्रुटि है। महान। मैं एसएसएच का उपयोग खोने के लिए केवल नेटवर्किंग को उछाल नहीं देता था धन्यवाद!

यदि सब ठीक है, तो आप देखेंगे:

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

9

निम्नलिखित आप क्या चाहते हैं का हिस्सा हो सकता है।

ifup --no-act eth0

6

यदि आपके पास लोकाचार नहीं है तो यह काम नहीं करेगा, जैसे:

Ignoring unknown interface eth0=eth0.

लेकिन अगर आप ऐसा करते हैं:

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

ठीक विन्यास के साथ:

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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.