概要
- Bash on Ubuntu on Windows(以降BOW)にて、sudoコマンドのたびに「名前が解決できません」と表示される問題
- 特に表示されるだけで大した影響もないし放置していたのだが、sudoコマンドのあとのレスポンスが非常に悪くなった
- sudoコマンドを使った後、パスワード入力になるまで非常に時間がかかるようになった
- 最初は止まってしまったのかと思うほどレスポンスが悪い
- この「名前が解決できません」を直したらそのレスポンスも治ったのでこれが原因かも
原因
- Ubuntuに設定されているホスト名にWindowsのホスト名が設定されていないことが原因
- Windowsのホスト名っていうのはPC名のこと
解決手順
ホスト名の確認
- まずはホスト名を確認する
- Bashを起動して
○○@○○○:~$
と表示されているところの@のあとのPC名がホスト名 - 例えば、
yasu@DESKTOP001:~$
のDESKTOP001の部分 - 記憶するなりメモるなりする
ホスト名の設定
- 設定ファイルに記載する
- Ubuntuのコンソール上で使えるVimというエディタを使って、
/etc/hosts
ファイルを開く - vimコマンドで普通に開いても、読み込み専用で開かれてしまうため、sudoコマンドを使って開く
- vimを使ったことのない人はこれを機会にVimのことを知ってみよう。そしてVimmerになろう。
$ sudo vim /etc/hosts
- 開いたファイルにはおそらく自分のPC名が記載されていないと思う
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
// ...以下省略
- 下のように自分のホスト名を追加して完了
127.0.0.1 localhost
127.0.0.1 pc-name
# The following lines are desirable for IPv6 capable hosts
// ...以下省略
動作確認
- Ubuntuを再起動する。BOWの場合は、一度exitしてもう一度bashコマンドで入ればいい。
- もしくは右上の☓でとじて、また開けばいい
- 適当にsudoコマンドを使ってみる。
sudo apt-get update
とかで良いんじゃないかな。 - 「名前が解決できません」と表示されなければOK!
所感
- 毎回エラーメッセージが表示されていたのがなくなったので良かった。
- sudoコマンドのレスポンスも通常のLinux端末と同様になったので良かった
- これってほぼすべての人が発生するんじゃないの?なんとかしてほしいなぁ。B