无法解析主机 - Windows Bash

无法解析主机 - Windows Bash

我正在使用 Windows Bash,但遇到了错误fox@FOX:/etc$ sudo true sudo: unable to resolve host FOX

我看到有人说我应该编辑etc/hosts,但我不知道在文件中放什么。有人能告诉我我应该放什么来解决这个问题吗?1

答案1

/etc/hosts您可以通过向您的机器的主机名添加一个条目来解决此问题。

如果你想要一行代码,那么可以这样做:

printf "\n127.0.0.1   $HOSTNAME\n" | sudo tee -a /etc/hosts

这会将一行附加到您的hosts文件中,将当前主机名解析为127.0.0.1

运行上述命令时,系统会提示您输入在安装 Windows Linux 子系统时设置的 root 密码。此外,由于此命令在运行前会为 root 用户启动一个 shell,因此您实际上会在sudo: unable to resolve host WHATEVER更改之前最后一次看到该消息。

或者,您可以以 root 身份运行编辑器(例如nano)并手动添加条目:

sudo nano /etc/hosts

答案2

以下是一条链接用户在 github 问题跟踪器上发布了一个解决方法本希利斯,指出:

发生这种情况的原因是 /etc/hosts 文件不包含您的计算机名称。要解决此问题,您可以删除 /etc/hosts,关闭所有打开的 bash.exe 窗口并启动 bash.exe 后将重新创建该文件

我可以确认这在 Windows 10 Pro 64 build 1607 上对我有用。

相关内容