环境
- ubuntu 18.04 64bit
简介
有时你会遇到一个错误 sudo unable to resolve host
,通常情况下,这个错误是在改变你的系统的主机名后发生的。主机名是网络识别的你的设备的名称,它是存储在本地的/etc/hostname
文件中,它被映射到网络上用于通信。在本文中,我们将告诉你如何解决 sudo unable to resolve host
的错误。
解决步骤
首先,通过运行一下 hostname
命令检查你系统的主机名,这时候通常会出现一个字符串,它是你之前设置的主机名
然后,执行下 sudo
正如你所看到的,sudo: unable to resolve host newpc
表明,hostname
命令不能确定主机名为 newpc
的 IP
地址。简单地说,hostname
命令不能解决你系统的主机名。因为这是一台本地计算机,在 DNS
中没有这样的记录。
为了解决这个错误,我们需要在你的系统中添加本地的 DNS
记录。本地 DNS
记录存储在 /etc/hosts
文件中
首先,用以下命令登录为根用户
su - root
接下来,使用以下命令查看 /etc/hosts
文件的内容
cat /etc/hosts
正如你所看到的,你的主机名(newpc
)没有这样的记录。由于主机名缺失,你的系统无法弄清主机名,因此它抛出了 sudo: unable to resolve host
的错误
下面我们编辑 /etc/hosts
文件,用回环地址(127.0.0.1
)设置主机名(newpc
)
完成后,保存并关闭该文件。然后,用以下命令测试错误是否得到解决
sudo
可以看到,之前的错误已经没有了,问题搞定。