Ubuntu 14.04/16.04のESMの期間が延長されましたね。 gihyo.jp
それと関係あるのかないのか、Ubuntu16.04でnetworking restartせずにresolv.confを更新する方法を見つけたのでメモっておく。
Ubuntu 16.04ではresolvconfコマンドで /etc/resolv.conf
を生成している。
resolvconfコマンドは /run/resolvconf/interface/*
なファイルをマージして生成しているっぽい。
$ cat /etc/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.0.1 search node.consul $ cat /run/resolvconf/interface/ens3.inet search node.consul nameserver 192.168.0.1
ファイル名からわかるようにシステムデフォルトでは interface名.inet
で生成しているようだ*1。
このファイルはおそらくifupしたときに生成される(と思われる。ちゃんと調べていない)。
このファイルはレギュラーファイルでありrootで書き換え可能なので、このファイルを編集したあとにresolvconf -u
すると更新できる。
$ sudo vim /run/resolvconf/interface/ens3.inet $ cat /run/resolvconf/interface/ens3.inet search node.consul nameserver 192.168.0.101 $ sudo resolvconf -u $ cat /etc/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.0.101 👈️ 変更されている search node.consul
Ubuntu 18.04以降はnetplanがあるので、設定ファイルを書き換えたあとに netplan apply
すればnetworkingを再起動しなくてもresovlerの設定を更新できる。
*1:dnsmasqが生成している場合はsuffixが.dnsmasqになるっぽい