web-dev-qa-db-ja.com

警告なしにresolvconfを実行する方法は?

NetworkManagerを設定して、/etc/resolv.confからディレクトリ内のファイルへのシンボリックリンクを維持するようにしました-/var/run/NetworkManager/resolv.conf

ls -l /etc/resolv.conf
... /etc/resolv.conf -> /var/run/NetworkManager/resolv.conf

Resolvconfは、DNSの構成を試行します。

resolvconf -u
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf

NetworkManagerの設定と矛盾します。この警告を取り除き、NetworkManagerとresolvconfの両方を競合なしに設定するにはどうすればよいですか?

1
Bulat M.

まず第一に、それは警告です。
ここに resolvconfのmanページ からの質問に対するアプローチがあります:

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.
...
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.

したがって、警告を取り除くために必要なことは、2つのオプションがあるシンボリックリンクを再作成することです。

  1. Manページに応じたシンボリックリンクを再作成するか、

    rm -f /etc/resolv.conf # Delete actual file/symlink 
    ln -s /run/resolvconf/resolv.conf /etc/resolv.conf # recreate the symlink
    

    正しいファイルを指す必要があります:/run/resolvconf/resolv.confではなく、/var/run/NetworkManager/resolv.conf

  2. REPORT_ABSENT_SYMLINKオプションを使用して、警告を表示しないようにresolvconfに指示します。

    echo 'REPORT_ABSENT_SYMLINK="no"' >> /etc/default/resolvconf
    
4
Stancu Mihai