主机名和 /etc/hosts

主机名和 /etc/hosts

在服务器上我遇到了 sudo 问题

sudo: unable to resolve host

现在我不知道这是否相关,但其他人已经修改了

/etc/hostname

但不是

/etc/hosts

这样新的主机名就不再包含在其中了。重新启动机器后 sudo 又可以工作了。更改 /etc/hostname 而不修改 /etc/hosts 是否会给我带来问题?

答案1

在我的(Debian)系统上有效的简短答案是将一行添加到/etc/hosts.

从您的 shell 中,确认这些结果匹配:

$ cat /etc/hostname
somehostname

--- and...---

$ hostname
somehostname

/etc/hosts通过保存 IPv4 和 IPv6 的环回和本地主机地址,充当一种“本地 dns”。但您的/etc/hosts文件似乎缺少一个条目;我们将添加如下:

使用您最喜欢的编辑器,例如nano

sudo nano /etc/hosts

将以下行添加到文件末尾:

127.0.1.1   somehostname

其中匹配上面somehostname的内容。/etc/hostname

保存文件,退出,重新启动,sudo应该停止抱怨。如果某事/某人正在更改您的/etc/hostname文件,您将需要采取其他措施来处理。请man hostname参阅想法。

有关其原因的一些背景信息,请参阅这个搜索

另请注意,这是在私人的本地网络 - 如果您的主机具有公共 IP 地址和 DNS 托管的 FQDN,则它可能无法工作。

相关内容