当我运行sudo命令时,它说无法解析主机

当我尝试以下命令/etc/hostnames/etc/hosts ,它说:

 bash: permission denied. 

要解析主机 ,只需将添加到/etc/hosts ,如下例所示。

动画示例

使用ctrl + o保存编辑,使用ctrl + x退出Nano。 这是你和截图的例子 。

在此示例中,假定主机名 (在本例中为SZS)是正确的,但它未通过服务器的hosts文件绑定到服务器的IP地址。


要解决此问题,您必须找到(或设置) hostname并将下一行插入/etc/host

 127.0.1.1 your-hostname 

示例中使用的命令是:

 cat / etc / hostname #命令'cat'将打印'/ etc / hostname'文件的内容
 hostname #without arguments,此命令将执行与上述命令相同的操作
 cat / etc / hosts #将打印'/ etc / hosts'文件的内容
 sudo nano / etc / hosts 'nano'文本编辑器将以root身份打开'/ etc / hosts'

在这里,您可以采用更多方法和解释:

  • 这个问题的另一个答案 ;
  • 类似问题的另一个答案 ;
  • 示例如何通过命令行通过单个命令在/etc/hosts附加hostname ,以及如何查找当前IP地址的示例 ;
  • 关于这个问题的Bug讨论 ;
  • /etc/hosts/目的的简要说明 。

我假设你在Ubuntu服务器上。

/etc/hosts/etc/hostname是文件。 如果您是操作系统新手,可以使用nanopico进行编辑。 这些文件由root拥有,因此您需要使用sudo来编辑它们。

因此,完整命令将是sudo nano /etc/hostssudo nano /etc/hostname

如果您使用的是Ubuntu Server,建议使用sudo hostname your.fqdn.com 。 这将自动更新/etc/hostname文件,但是,如果不是,您始终可以将服务器的FQDN添加到该文件中。

您需要注销/登录SSH才能使这些更改对您的会话生效。

你可以试试sudo -i gedit /etc/hosts

要在终端中编辑文件,请使用sudo vim /etc/hosts (高级)。

如果你破坏了这个文件中的内容, 这里有一个问题。