resolvconf modifies real file /etc/resolv.conf in lieu of /run/resolvconf/resolv.conf
This bug report was converted into a question: question #205014: resolvconf modifies real file /etc/resolv.conf in lieu of /run/resolvconf/resolv.conf.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
resolvconf (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I manually compiled and installed the unbound DNS resolver on my 12.04 server (upgraded from a 10.04).
Yesterday, after reading http://
However, today I found that the file /etc/resolv.conf had been rewritten with the same contents it had before.
Checking a little I found the file modification time was 12:35 and found the following on my syslog:
Aug 3 12:35:40 abako dhclient: DHCPREQUEST of 66.228.40.90 on eth0 to 207.192.68.72 port 67
Aug 3 12:35:40 abako dhclient: DHCPACK of 66.228.40.90 from 207.192.68.72
Aug 3 12:35:40 abako dhclient: bound to 66.228.40.90 -- renewal in 38228 seconds.
So, the primary cuplrit seems to be resolvconf.
What's more, the file modification time for /run/resolvconf
So, IMHO, either resolvconf has a bug or the following paragraph of its manpage is plain wrong:
The most important piece of software that subscribes to the
notification service is the set of functions that make up the GNU C
Library resolver(3). When nameserver information is updated, the
script /etc/resolvconf
scripts in /etc/resolvconf
the dynamically generated resolver configuration file the administrator
should ensure that /etc/resolv.conf is a symbolic link to
check to make sure that the link is intact.
FWIW, resolvconf's version is 1.63ubuntu14
summary: |
- resolvconf modifies real file /etc/resolv.conf in lieu of (besides?) + resolvconf modifies real file /etc/resolv.conf in lieu of /run/resolvconf/resolv.conf |
This is nothing to do with resolvconf. dhclient itself updates /etc/resolv.conf when it receives DNS information from DHCP; and so does Network Manager. The point of having resolvconf as part of the base system in Ubuntu is precisely that all the network management tools want to be able to provide dynamic DNS information, and resolvconf is the first standard framework to let users control this *without* having to chase down half a dozen scripts.
Far from being a "minimum breakage path", replacing the /etc/resolv.conf file with a symlink means you now don't benefit from the (recommended) resolvconf framework.
A more effective way to manage this is by creating /etc/resolvconf /resolv. conf.d/ head with your preferred nameserver information. resolvconf knows that ::1 is special and won't include any other dynamic nameserver information.