Provided by: resolvconf_1.84ubuntu1_all bug

NAME

       resolvconf - manage nameserver information

SYNOPSIS

       cat FILE | resolvconf -a IFACE.PROG

       resolvconf -d IFACE.PROG

       resolvconf -u

       resolvconf --enable-updates | --disable-updates | --updates-are-enabled

DESCRIPTION

       The  resolvconf  package  comprises  a  simple  database for run-time nameserver information and a simple
       framework for notifying applications of changes in that information.  Resolvconf thus sets itself  up  as
       the  intermediary  between  programs  that  supply  nameserver information and applications that use that
       information.

       Information is added to or removed from the database using  the  resolvconf  program.   See  the  OPTIONS
       section below for a discussion of the available options.

SUPPLIERS OF NAMESERVER INFORMATION

       Normally  the resolvconf program is run only by network interface configuration programs such as ifup(8),
       ifdown, NetworkManager(8), dhclient(8), and pppd(8); and by local nameservers such as dnsmasq(8).   These
       programs obtain nameserver information from some source and push it to resolvconf.

   dhclient
       The  dhclient  program,  for example, may receive nameserver addresses and domain search list information
       during    its    negotiation    with    the    DHCP    server;     if     so,     its     hook     script
       /etc/dhcp/dhclient-enter-hooks.d/resolvconf pushes this information to resolvconf.

   ifup
       The   ifup   program   can   be   used   to   configure  network  interfaces  according  to  settings  in
       /etc/network/interfaces.  To make ifup push nameserver information to resolvconf when  it  configures  an
       interface  the  administrator  must  add dns- option lines to the relevant iface stanza in interfaces(5).
       The following option names are accepted: dns-nameserver, dns-search, and dns-sortlist.

       To add a nameserver IP address, add an option line consisting of dns-nameserver and the address.  To  add
       multiple nameserver addresses, include multiple such dns-nameserver lines.

           dns-nameserver 192.168.1.254
           dns-nameserver 8.8.8.8

       To add search domain names, add a line beginning with dns-search.

           dns-search foo.org bar.com

       The  dns-nameservers option is also accepted and, unlike dns-nameserver, can be given multiple arguments,
       separated by spaces.

       The dns-domain option is deprecated in favor of dns-search.

       The resulting stanza might look like the following example.

           iface eth0 inet static
               address 192.168.1.3
               netmask 255.255.255.0
               gateway 192.168.1.1
               dns-nameserver 192.168.1.254
               dns-nameserver 8.8.8.8
               dns-search foo.org bar.com

       N.B.: On a machine where resolvconf has just been or is about to be installed and which previously relied
       on a static /etc/resolv.conf file,

       •      the nameserver information in that static file, (which is to say the  information  on  nameserver,
              domain,  search  and  sortlist  lines)  should  be  migrated to the appropriate iface stanza(s) in
              /etc/network/interfaces(5) as just described;

       •      options   (which    is    to    say,    any    options    lines)    should    be    migrated    to
              /etc/resolvconf/resolv.conf.d/base.

   Command line
       The  administrator  can run resolvconf from the command line to add or delete nameserver information, but
       this is not normally necessary or advisable.

CONSUMERS OF NAMESERVER INFORMATION

       Nameserver information  provided  to  resolvconf  is  stored  for  use  by  subscribers  to  resolvconf's
       notification  service.   Subscriber  packages  that  need to know when nameserver information has changed
       should install a script in /etc/resolvconf/update.d/ (or in /etc/resolvconf/update-libc.d/:  see  below).
       For  example,  DNS  caches  such as dnsmasq(8) and pdnsd(8) subscribe to the notification service so that
       they know whither to forward queries.  Client hook scripts will  find  the  files  containing  nameserver
       information in the current directory.

   libc
       The  most  important  software  package  that subscribes to the notification service is the GNU C Library
       resolver(3).  This library is used by  many  applications  that  need  to  resolve  domain  names.   When
       nameserver  information  is  updated, the script /etc/resolvconf/update.d/libc generates a new version of
       the resolver configuration file, /run/resolvconf/resolv.conf, as described below.  If the new version  of
       the   file   differs   from   the   previously   generated   one   then   the   hook   scripts  found  in
       /etc/resolvconf/update-libc.d/ are executed.

       The  dynamically  generated  resolver  configuration  file   always   starts   with   the   contents   of
       /etc/resolvconf/resolv.conf.d/head  and  ends  with  the  contents of /etc/resolvconf/resolv.conf.d/tail.
       Between head and tail the libc script  inserts  dynamic  nameserver  information  compiled  from,  first,
       information     provided     for    configured    interfaces;    second,    static    information    from
       /etc/resolvconf/resolv.conf.d/base.  Specifically, it writes:

         1) up to three nameserver lines, ordered according to /etc/resolvconf/interface-order,  possibly  fewer
            if      one      of      the      addresses      is      a      loopback     address     and     the
            TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS  environment  variable  is  affirmatively  set,   as
            discussed in the ENVIRONMENT VARIABLES section;

         2) up  to  one  search  line  containing the combined domain search list from all "domain" and "search"
            input lines, also ordered according to interface-order(5);

         3) all other non-comment input lines.

       To make the resolver use this dynamically generated resolver configuration file the administrator  should
       ensure  that  /etc/resolv.conf  is a symbolic link to /run/resolvconf/resolv.conf.  This link is normally
       created on installation of the resolvconf package.  The link is never modified by the resolvconf  program
       itself.   If you find that /etc/resolv.conf is not being updated, please check to make sure that the link
       is intact.

       The GNU C Library resolver library isn't the only resolver  library  available.   However,  any  resolver
       library  that  reads  /etc/resolv.conf  (and most of them do, in order to be compatible) should work fine
       with resolvconf.

       Subscriber packages that need to know only when  the  resolver  configuration  file  has  changed  should
       install  a  script  in  /etc/resolvconf/update-libc.d/  rather  than  in /etc/resolvconf/update.d/.  (For
       example, two packages that install update-libc.d/  hook  scripts  are  fetchmail  and  squid.)   This  is
       important  for  synchronization  purposes:  scripts  in update-libc.d/ are run after resolv.conf has been
       updated; the same is not necessarily true of scripts in update.d/.

OPTIONS

       -a IFACE.PROG
              Add or overwrite the record IFACE.PROG then run the update scripts if updating is  enabled.   When
              this  option  is  used the information must be provided to resolvconf on its standard input in the
              format of the resolv.conf(5) file.  Each line in the file must be terminated by a newline.

       -d IFACE.PROG
              Delete the record IFACE.PROG then run the update scripts if updating is enabled.

       The string IFACE.PROG may not contain spaces, slashes, an initial dot, an initial hyphen  or  an  initial
       tilde.  It is conventionally formed from IFACE, the name of the interface involved, a dot, and IPROG, the
       name of the interface configuration program, e.g., "eth0.dhclient".

       -u     Just run the update scripts (if updating is enabled).

       With -a, -d or -u:
              if  updating  is  not  enabled, schedule a delayed update.  The delayed update will be carried out
              when updates are enabled.

       --enable-updates
              Set the flag indicating that resolvconf should run update scripts when invoked in the future  with
              -a, -d or -u.  If a delayed update was scheduled then run update scripts.

       --disable-updates
              Clear the flag.

       --updates-are-enabled
              Return 0 if the flag is set, otherwise return 1.

ENVIRONMENT VARIABLES

       The  following  variables can be set in the configuration file /etc/default/resolvconf.  If the file does
       not exist you will have to create it.

       REPORT_ABSENT_SYMLINK
              If set to "yes" then resolvconf will print a message when /etc/resolv.conf is not a symbolic  link
              to  the  resolvconf-generated resolver configuration file.  Set to "no" to prevent the printing of
              this message.  The default is "yes".

       TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS
              If set to "yes" then the libc script will include no more nameserver  addresses  after  the  first
              nameserver address that is a loopback address.  (In IPv4 a loopback address is any one that starts
              with "127.".  In IPv6 the loopback address is "::1".)

              The advantage of truncating the nameserver list after a loopback address is that doing so inhibits
              unnecessary  changes  to  resolv.conf  and  thus  reduces  the  number  of  instances in which the
              update-libc.d/ scripts have to be run.  When an interface is brought up or down the local  caching
              nameserver  that  listens  on  the  loopback  address  is  still informed of the change and adapts
              accordingly; the clients of the resolver which use the local caching nameserver do not need to  be
              notified  of  the  change.   A disadvantage of this mode of operation is that applications have no
              secondary or tertiary nameserver address to fall back  on  should  the  local  caching  nameserver
              crash.   Insofar  as  a  local  nameserver  crash  can be regarded as an unlikely event, this is a
              relatively minor disadvantage.  Set to "no" to disable truncation.  The default is "yes".

              A deprecated synonym for this variable is TRUNCATE_NAMESERVER_LIST_AFTER_127.

FILES

       /etc/default/resolvconf
              See the ENVIRONMENT VARIABLES section.

       /etc/resolvconf/interface-order
              Determines the order of precedence of nameserver addresses and search domain names.  See above and
              interface-order(5).

       /etc/resolvconf/resolv.conf.d/base
              File containing basic resolver information.  The lines in this file are included in  the  resolver
              configuration file even when no interfaces are configured.

       /etc/resolvconf/resolv.conf.d/head
              File  to  be prepended to the dynamically generated resolver configuration file.  Normally this is
              just a comment line.

       /etc/resolvconf/resolv.conf.d/tail
              File to be appended to the dynamically generated resolver configuration file.  To append  nothing,
              make  this  an  empty  file.   This  file is a good place to put a resolver options line if one is
              needed, e.g.,

                  options inet6

       /etc/resolvconf/resolv.conf.d/original
              Copy of the /etc/resolv.conf file before the resolvconf package was installed.  This file  has  no
              effect  on  the functioning of resolvconf; it is retained so that /etc/resolv.conf can be restored
              to its original state if the resolvconf package is removed.

              Note also that a copy of this file is included in  the  database  until  the  first  reboot  after
              installation   of   the  resolvconf  package;  this  ensures  that  nameservers  reachable  before
              installation of resolvconf are still reachable after installation of  resolvconf  even  though  at
              that  point  not  all  suppliers  of nameserver information may have supplied their information to
              resolvconf(8).

              Note   also   that   the   administrator   can   choose   to   create   a   symbolic    link    in
              /etc/resolvconf/resolv.conf.d/  from  tail to original so that the contents of original are always
              added to the end of the dynamically generated file.

BUGS

       Currently resolvconf does not check the sanity of the information provided to it.

AUTHOR

       Written by Thomas Hood <jdthood@gmail.com> with contributions by Nathan Stratton Treadway.

COPYRIGHT

       Copyright © 2004-2013 Thomas Hood.
       This is free software; see the source for copying conditions.

SEE ALSO

       interface-order(5), resolv.conf(5), resolver(3).

       Read the resolvconf package README file for more in-depth information.

resolvconf                                         3 Feb 2013                                      RESOLVCONF(8)