主機名稱

主機名稱（），又稱節點名稱（），在連上電腦網路時，特定裝置使用的名稱。在進行電子通訊時，可以用來識別某個裝置之用，諸如全球資訊網、電子郵件、Usenet中都使用主機名稱來當成識別之用。

在網際網路中，主機名稱被附在域名系統（DNS）的域名之後，形成完整網域名稱。

 Linux 

 定义 

 systemd项目 
所谓"主机名"，其实有三种不同的含义：

 pretty主机名，仅供人类阅读，可以包含各种特殊字符， 例如"Lennart's Laptop"(必须是UTF-8编码)。 pretty主机名、chassis(设备类型)、icon(图标名称)存储在 /etc/machine-info 文件中， 详见 machine-info(5)  手册。
 static主机名（静态主机名），在主机启动时，将会使用它初始化内核主机名。静态主机名，存储在 /etc/hostname 文件中， 详见 hostname(5)  手册。
 transient主机名（临时主机名），是一个备用的数值，以供网络配置搜索时使用。如果配置了静态主机名且该值是可用时（不为localhost时），临时主机名将不会被使用。临时主机名是映射内核主机的。

 内核主机名 
内核主机名（kernel hostname），是该机器的机器名，可通过 /proc/sys/kernel/hostname 文件查看，主机在启动时，将会 /etc/hostname 读取主机名，可通过hostname 命令和hostnamectl 命令设置临时主机名，但设置的临时主机名在重启时将会消失；也可以通过 hostnamectl 命令设置静态主机名，重启后不会消失。

 相关工具 

 hostname (net-tools项目) 
hostname 命令通过gethostname 函数和 sethostname 函数进行主机名的读写。而该主机名存储在内核内存中 utsname 数据结构中。hostname 命令实质操作的对象是临时主机名。

 hostnamectl(systemd项目) 
hostnamectl 用于控制系统的主机名。

该命令可 查询与修改系统主机名以及其他相关设置。它可操作pretty主机名、静态主机名以及临时主机名。

 主機名稱的操作 
$ hostname
localhost

# 設置臨時主機名稱
$ hostname manger1
$ hostname
manger1

# 設置靜態主機名稱,同時內核主機名稱也會被更新
$ sudo hostnamectl set-hostname manager2
$ hostnamectl status 
   Static hostname: manager2
         Icon name: computer-vm
           Chassis: vm
        Machine ID: c0fddf681459441c980f6f25e80e9976
           Boot ID: 4265c546e7cd4542bc832e41d6ae0788
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-957.12.2.el7.x86_64
      Architecture: x86-64
$ cat /etc/hostname 
manager2

 相关网站 

 redhat -  使用 HOSTNAMECTL 配置主机名 
Archlinux - 设置计算机名 

 参考文献 

Category:電腦網路
Category:識別符