Comment 1 for bug 923685

Revision history for this message
Thomas Hood (jdthood) wrote : Re: New resolver package overwrites manually created resolv.conf on server

This has always been a shortcoming in the resolvconf package: it does not do a fully automatic installation. The case Stefan Bader describes in this report is the most important lacuna: the package does not add information to /etc/network/interfaces.

Until now we have dealt with this by adding warnings to the README and to the package description

    This package may require some manual configuration.
    Please read the README file for detailed instructions.

and by implementing the feature described in the following debconf template.

=== BEGIN ===
Template: resolvconf/link-tail-to-original
Type: boolean
Default: false
_Description: Append original file to dynamic file?
 If the original static resolver configuration file (/etc/resolv.conf)
 contains name server addresses, those addresses should be listed on
 "dns-nameservers" lines in /etc/network/interfaces. For more
 information, please consult the resolvconf(8) man page and the
 README file.
 .
 Until /etc/network/interfaces has been edited and the affected
 interfaces brought down and up again, the name server addresses will
 not be included in the dynamically generated resolver configuration
 file.
 .
 If you choose this option, a temporary workaround will be put in
 place: a symbolic link will be created (if it does not already exist)
 from /etc/resolvconf/resolv.conf.d/tail to
 /etc/resolvconf/resolv.conf.d/original. This will cause the whole of
 that original resolver configuration file to be appended to the
 dynamically generated file.
 .
 After the required "dns-nameservers" lines have been added to
 /etc/network/interfaces, the /etc/resolvconf/resolv.conf.d/tail link
 should be replaced by one to /dev/null.
=== END ===

The link-tail-to-original feature is very unsatisfactory. It was only implemented because implementing anything better is difficult... and it's almost impossible to implement a fully automated installation which will never make a mistake.

The problem is: when the resolvconf package is installed it isn't easy to tell where the information from /etc/resolv.conf belongs in the resolvconf scheme of things. Figuring this out takes some work. Confronted with an existing /etc/resolv.conf with "nameserver 1.2.3.4", the maintainer script has to figure out what interface this is associated with, what tool configured that interface, (in the case of ifupdown:) what logical interface was used, etc.

We should at least be able to provide the admin with an interactive program that assists her in moving info from /etc/resolv.conf to /etc/network/interfaces.