在 /etc/hosts 中,任何给定行的第一个主机名有什么特殊之处吗?

在 /etc/hosts 中,任何给定行的第一个主机名有什么特殊之处吗?

我知道第一个据说是典范但我并不完全理解实际含义。这个问题是由主机名 -f,特别是当它说:

Technically: The FQDN is the name gethostbyname(2)
returns for the host name returned by gethostname(2).
The DNS domain name is the part after the first dot.

假设计算机主机名是

采用以下配置:

127.0.0.1       localhost
127.0.1.1       foo.example.com    foo

命令主机名 -f返回foo.example.com

同时,采用以下配置:

127.0.0.1       localhost
127.0.1.1       foo    foo.example.com

命令主机名 -f返回

具体来说,第一个主机名是不是人们在谈论 hostent.h_name 时所说的‘主机的正式名称’?

笔记:我使用的是 Debian,但希望这些概念能够引起一般 *nix 的兴趣。

关联: A可能相关问题。

关联这个问题这表明第二种风格是错误的,尽管如此,我在网上还是看到过多次这样的风格。

答案1

正如您所怀疑的,第一个条目是规范(官方)名称,其中所有后续名称都只是第一个名称的别名。根据我的经验(在典型的生产环境中),/etc/hosts 如下所示:

127.0.0.1    localhost.localdomain localhost
10.0.0.1    myhostname.domain.tld myhostname

相关内容