यह उत्तर उपरोक्त के समान है लेकिन प्रश्न का उत्तर देने के लिए प्रश्न उदाहरण विन्यास का उपयोग करता है। प्लस यह बताता है कि दोनों कमांड क्यों आवश्यक हैं।
संपादित करें /etc/network/interfaces
:
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameserver 192.168.3.45
dns-nameserver 192.168.8.10
जब तक आप कॉन्फ़िगरेशन फ़ाइल को रिबूट या पुनः लोड नहीं करते हैं, तब तक ये परिवर्तन नहीं होंगे:
इंटरफेस फ़ाइल को अपडेट करने के लिए, यह आवश्यक है कि निम्नलिखित कमांड को चलाएं:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
यह रिबूट या पुनः लोड किए बिना इंटरफ़ेस को अपडेट करने की अनुमति देता है।
हालाँकि, उपरोक्त आदेश परिवर्तन रिबूट के बाद खो जाएंगे यदि इसमें परिवर्तन /etc/network/interfaces
नहीं किए गए हैं।
इस सूची में BDenis से अंतिम उत्तर के अनुसार वास्तव में /etc/network/interfaces
फ़ाइल को पार्स करके और कमांड में उन पंक्तियों को पाइप करके कमांड का काम करता है sudo resolvconf -a eth0
यह वास्तव में आधा उत्तर है और इनलाइन sed पार्सिंग का वास्तव में अच्छा उदाहरण है। यदि आप यह देखना चाहते हैं कि यह कैसे करता है तो यह केवल कमांड के पहले भाग को चलाता है और इसे /etc/network/interfaces
फाइल को पार्स करके देखें और sudo resolvconf -a eth0
कमांड चलाने के लिए आवश्यक सभी आवश्यक जानकारी को बाहर थूक दें :
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
ध्यान दें कि यह कमांड के समान ही होगा:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
बशर्ते कि /etc/network/interfaces
फ़ाइल इस जानकारी से कॉन्फ़िगर की गई हो:
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameserver 192.168.3.45
dns-nameserver 192.168.8.10