centos7中的/etc/hostname vs /etc/hosts vs /etc/sysconfig/network

lon*_*ner 3 linux centos

我发现我可以在以下三个文件中放置不同的主机名。任何人都可以帮助解释何时以及如何使用它们中的每一个?它是一个 CentOS7 盒子。

/etc/hostname # run command hostname - I suspect this is the actual hostname

/etc/hosts #for 127.0.0.1 only?

/etc/sysconfig/network 
Run Code Online (Sandbox Code Playgroud)

zon*_*ndo 6

/etc/hosts用于为某些 IP 地址定义您自己的域名。它通常有这个条目:

127.0.0.1 localhost
Run Code Online (Sandbox Code Playgroud)

这意味着localhost,当在浏览器或其他访问 Internet 的程序中使用时,应指向127.0.0.1。这就像拥有自己的本地 DNS 服务器(其他人无法使用)。您还可以添加多个名称:

127.0.0.1   local localhost
Run Code Online (Sandbox Code Playgroud)

它不需要只是 127.0.0.1。您可以将任意数量的名称添加到您想要的任何 IP 地址。


/etc/hostname是您指定计算机主机名的方式。这用于许多事物,例如在支持蓝牙的计算机中,这是其他设备看到的名称。还有很多其他用途;我建议您查看我链接的服务器故障帖子。正如ivanivan提到的,您的主机名应解析,所以这应该是在/etc/hosts旁边localhost


/etc/sysconfig/network文件用于指定有关所需网络配置的信息。

( https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-sysconfig-network.html )

实际上,我以前从未见过这个文件(我运行的是 Debian,而不是 CentOS),但它似乎是一种更广泛的形式/etc/hostname,可以让您设置更多选项。看起来它也比 更新/etc/hostname,但/etc/hostname仍然支持旧软件。

  • 我是否说错了什么而应该投反对票?如果我这样做的话,评论会对我有更多帮助。 (2认同)