在Ubuntu 10.04上,/ etc / hostname应该包含服务器的完全限定的域名吗?
不,只是主机名部分。 根据Ubuntu的手册页 , /etc/hostname
应该只包含主机名的主机名部分,而不是FQDN:
FQDN
您不能使用此命令更改FQDN(由主机名–fqdn返回)或DNS域名(由dnsdomainname返回)。 系统的FQDN是parsing器(3)返回的主机名的名称。
技术上说:FQDN是gethostbyname(2)返回gethostname(2)返回的主机名的名称。 DNS域名是第一个点之后的部分。
因此它取决于configuration(通常在/etc/host.conf)如何改变它。 通常(如果在DNS或NIS之前parsing主机文件),可以在/ etc / hosts中更改它。
笔记
在查找FQDN时,地址系列主机名尝试通过parsing器的configuration确定主机的别名和networking地址。 例如,在GNU Libc系统上,可以指示parsing器首先使用/etc/resolv.conf中的inet6选项尝试IPv6查找。
FILES
/ etc / hosts / etc / hostname这个文件只能包含域名,而不能包含完整的FQDN。
乔什指出了Ubuntu的build议,但我不确定这是一个硬性规定。
/etc/hostname
用于设置系统的主机名,与hostname
或uname -n
打印的hostname
相同。 该名称将用于login提示,例如在虚拟控制台或Gnome GDMlogin屏幕上。
正如手册页所述,在做hostname --fqdn
或dnsdomainname
时,它也被用作DNS查询的input。
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.
这意味着,如果这是一个单词,parsing器会在/etc/resolv.conf
追加search
或domain
设置中列出的domain
,尝试查找FQDN。 如果/ etc / hostname中有FQDN,则表示不必附加一个或多个域名:名称是明确的。
所以我会说任一个是有效的。 如果有人能certificate,我会非常感兴趣。
安装libnss-myhostname后 ,可以将fqdn写入/etc/hostname
并完成。 否则,您还需要编辑/etc/hosts
来匹配短名称并将其映射到完全限定的名称(您也可以将其放在dns中,但这不是故障安全的)。 使用非默认的回送接口,如下所示:
127.0.0.2 hostname.fully.qualified hostname