当我运行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
是文件。 如果您是操作系统新手,可以使用nano
或pico
进行编辑。 这些文件由root拥有,因此您需要使用sudo
来编辑它们。
因此,完整命令将是sudo nano /etc/hosts
或sudo nano /etc/hostname
如果您使用的是Ubuntu Server,建议使用sudo hostname your.fqdn.com
。 这将自动更新/etc/hostname
文件,但是,如果不是,您始终可以将服务器的FQDN添加到该文件中。
您需要注销/登录SSH才能使这些更改对您的会话生效。
你可以试试sudo -i gedit /etc/hosts
。
要在终端中编辑文件,请使用sudo vim /etc/hosts
(高级)。
如果你破坏了这个文件中的内容, 这里有一个问题。