さくらのVPSでubuntu12.04にアップデートしたら、resolv.confの中身が空っぽになった件

Ubuntu12.04LTS がリリースされたのですが、さくらインターネットVPSでインストールできるのは未だ(2012/5/1現在)10.04LTSなので、一旦Ubuntu 10.04をインストールしてUbuntu 12.04へアップグレードしました。

アップグレード自体は単純なもので、下記コマンドを実行して

$ sudo do-release-update

画面の指示に従えばアップグレードできます。

問題はその後。

  1. resolv.confの中身が空っぽになって名前解決ができない!
  2. resolv.conf書きなおす
  3. 名前解決できた
  4. サーバ再起動
  5. 1に戻る

色々と調べてみたところ、 どうもUbuntu 12.04って起動時にresolv.confを自動生成してるらしく、そのせいでこの現象が出るようです。詳細はマニュアル(http://manpages.ubuntu.com/manpages/precise/man8/resolvconf.8.html)に書かれているのですが、とりあえず要点だけ。

/etc/resolvconf/resolv.conf.d/base に下記行を追加して、

search sakura.ne.jp
nameserver 210.188.224.10
nameserver 210.188.224.11

下記コマンドを実行

$ sudo resolvconf -u

これで、/etc/resolvconf/resolv.conf.d/base の内容がresolv.confに転記されます。サーバを再起動しても大丈夫です。