मेरे RPI पर Ubuntu 16.04.2 LTS चल रहा है, मेरे निष्कर्ष इस प्रकार थे:
नोट: मैंने NetworkManager को अनइंस्टॉल कर दिया और अपना सामान करने के लिए resolvconf को छोड़ दिया। (यह एक निश्चित सर्वर है इसलिए चीजें बहुत नेटवर्क वार नहीं बदलती हैं।)
यदि मेरे पास केवल एक इंटरफ़ेस (प्राथमिक, वायर्ड एक) पर dns-search और dns-nameserver लाइनें थीं, लेकिन दूसरी (wlan0) नहीं, तो रिबूट पर, मेरी /etc/resolv.conf फ़ाइल का लगभग 95% समय होगा खाली करें।
उदाहरण के लिए जब मेरी इंटरफेस फाइल इस तरह दिखती है:
# The primary network interface
auto enxb827ebbfedcf
iface enxb827ebbfedcf inet static
address 192.168.1.16
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
# end stanza with clear line+
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
फिर से रिबूट करने के बाद मेरा रिज़ोल्व.कॉन्फ़ इस तरह दिखेगा:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
हालांकि, एक या दो रिबूट पर मैंने देखा कि यह डीआईडी है जो मुझे चाहिए था, जैसे
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.16
nameserver 192.168.1.1
search summer.co.uk summer.vpn
समाधान
जब मैंने BOTH इंटरफेस (वायर्ड और wlan0) को dns-search और dns-nameserver लाइनें दीं, तो यह सब हर रिबूट (अब तक) पर ठीक काम किया
यानी निम्नलिखित इंटरफेस फ़ाइल मेरे लिए काम करती है:
# The primary network interface
auto enxb827ebbfedcf
iface enxb827ebbfedcf inet static
address 192.168.1.16
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
# end stanza with clear line+
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.1.17
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-search summer.co.uk summer.vpn
dns-nameserver 192.168.1.16
dns-nameserver 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
और मुझे हर रिबूट (अब तक) के बाद निम्नलिखित सही resolv.conf देता है
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.16
nameserver 192.168.1.1
search summer.co.uk summer.vpn
मुझे लगता है कि यह डुप्लिकेट कॉन्फ़िगरेशन सामान्य है, अगर कुछ हद तक बेमानी है।
निष्कर्ष: यदि किसी इंटरफ़ेस (lo0 के अलावा) में dns-search और dns-nameserver जानकारी का अभाव है, तो resolvconf आपकी resolv.conf फ़ाइल में कुछ नहीं डालता है। (यह ऐसा है जैसे कि ifup ने wlan0 इंटरफ़ेस को दूसरा और ifup ने resolv.conf या ऐसे ही मिटा दिया।)
मुझे यकीन नहीं है कि यह एक बग है या नहीं, हालांकि मुझे गलत लगता है।