Ubuntu で各種ソフトウェアのバージョンアップを行おうと apt-get update を実行したら以下のようなエラーが出た。
$ sudo apt-get update
Err http://archive.canonical.com natty InRelease
(省略)
Err http://jp.archive.ubuntu.com natty-backports Release.gpg
Temporary failure resolving ‘jp.archive.ubuntu.com’
Reading package lists... Done
W: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/oneiric/InRelease
(省略)
W: Some index files failed to download. They have been ignored, or old ones used instead.
Temporary failure resolving とあるので DNS がうまく動いていないのだろう。もしくは sources.list の値がおかしいのか。
今回は単純に DNS の問題だったようで、以下のように resolv.conf を編集し、一時的に Google Public DNS を利用したら解決した。
$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
これで再度 apt-get update を実行したら正常に動作した。
resolv.conf の内容は DHCP で IP アドレスを割り当てられた時等勝手に上書きされちゃうので、Google DNS をずっと使い続けるのであれば以下のようにする。
$ echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null
もっとも Google DNS の利用はこういったトラブルシューティング時のみに留めておくのが良いとは思いますが。
コメント
/etc/resolv.conf の書き換えだけだと再起動した時に書き換わってしまうので
C:\Users\\AppData\Local\lxss\rootfs\run\resolvconf\resolv.conf
にネームサーバを記述すれば、再起動しても反映されます。
上記ファイルはデフォルトでは存在しないので新規作成して下さい。ファイルの編集は Bash on Ubuntu … からでは無く Windows の方で直接編集する事。
lxss ディレクトリは隠しディレクトリのようです。
また、run ディレクトリ直下に resolv.conf を置いても反映される事を確認しています。
この手の書き換わってしまう設定ファイルは (前省略) lxss\rootfs\run ディレクトリ配下に置いとけば良いのでしょうかね。
Bash on Ubuntu on Windows でも同様の現象が発生するのですね、情報ありがとうございます。
[…] とエラーを吐かれ、ネットでしらべてみたら、このページにGoogle DNSを設定すると解決するかもと書かれていたので、Google DNSに設定してみたところ、今度は無事に成功しました。 […]