主机名称
外观
主机名称(英语:hostname),又称节点名称(nodename),在连上电脑网路时,特定装置使用的名称。在进行电子通讯时,可以用来识别某个装置之用,诸如全球资讯网、电子邮件、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时),临时主机名将不会被使用。[2] 临时主机名是映射内核主机的。[3]
内核主机名
[编辑]内核主机名(kernel hostname),是该机器的机器名,可通过 /proc/sys/kernel/hostname
文件查看[4],主机在启动时,将会 /etc/hostname
读取主机名,可通过hostname
命令和hostnamectl
命令设置临时主机名,但设置的临时主机名在重启时将会消失;也可以通过 hostnamectl
命令设置静态主机名,重启后不会消失。
相关工具
[编辑]hostname (net-tools项目)
[编辑]hostname
命令通过gethostname
函数和 sethostname
函数进行主机名的读写。[5][6]而该主机名存储在内核内存中 utsname
数据结构中。[4] hostname
命令实质操作的对象是临时主机名。
hostnamectl(systemd项目)
[编辑]hostnamectl
用于控制系统的主机名。
该命令可 查询与修改系统主机名以及其他相关设置。它可操作pretty主机名、静态主机名以及临时主机名。[2]
主机名称的操作
[编辑]$ 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
相关网站
[编辑]参考文献
[编辑]- ^ hostnamectl(1) — manpages-zh — Debian buster — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ 2.0 2.1 2.2 hostnamectl(1) — systemd — Debian buster — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ hostnamed. www.freedesktop.org. [2020-03-12]. (原始内容存档于2020-08-18).
- ^ 4.0 4.1 uname(2) — manpages-dev — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ hostname(1) — manpages-zh — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ sethostname(2) — manpages-dev — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].