【发布时间】:2019-07-06 13:06:48
【问题描述】:
来自 Linux 编程接口
struct utsname { char sysname[_UTSNAME_LENGTH]; /* Implementation name */ char nodename[_UTSNAME_LENGTH]; /* Node name on network */ char release[_UTSNAME_LENGTH]; /* Implementation release level */ char version[_UTSNAME_LENGTH]; /* Release version level */ char machine[_UTSNAME_LENGTH]; /* Hardware on which system is running */ #ifdef _GNU_SOURCE /* Following is Linux-specific */ char domainname[_UTSNAME_LENGTH]; /* NIS domain name of host */ #endif };
nodename字段返回使用sethostname()系统调用(详见手册页) 系统调用)。通常,此名称类似于主机名前缀 来自系统的 DNS 域名。
domainname字段返回使用setdomainname()系统调用(详见手册页) 系统调用)。这是网络信息服务 (NIS) 域 主机名(与主机的 DNS 域不同) 名称)。
nodename 是否被某些 DNS 服务器用于将当前机器的主机名解析为其 IP 地址?如果是,那是哪个 DNS 服务器?
sethostname() 是否会从本地计算机向 DNS 服务器发送新值 nodename 以更新本地计算机 DNS 记录中的主机名?
如果可能,请向domainname 和setdomainname() 提出类似问题。
【问题讨论】: