主機名稱(),又稱節點名稱(),在連上電腦網路時,特定裝置使用的名稱。在進行電子通訊時,可以用來識別某個裝置之用,諸如全球資訊網、電子郵件、Usenet中都使用主機名稱來當成識別之用。
在網際網路中,主機名稱被附在域名系統(DNS)的域名之後,形成完整網域名稱。
Linux
定义
systemd项目
所谓"主机名",其实有三种不同的含义:
- pretty主机名,仅供人类阅读,可以包含各种特殊字符, 例如"Lennart's Laptop"(必须是UTF-8编码)。 pretty主机名、chassis(设备类型)、icon(图标名称)存储在 /etc/machine-info 文件中, 详见 [https://manpages.debian.org/buster/manpages-zh/machine-info.5.zh_CN.html machine-info(5)] 手册。
- static主机名(静态主机名),在主机启动时,将会使用它初始化内核主机名。静态主机名,存储在 /etc/hostname 文件中, 详见 [https://manpages.debian.org/buster/manpages-zh/machine-info.5.zh_CN.html 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
相关网站
- [https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/networking_guide/sec_configuring_host_names_using_hostnamectl redhat - 使用 HOSTNAMECTL 配置主机名]
*[https://wiki.archlinux.org/index.php/Network_configuration_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E8%AE%BE%E7%BD%AE%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%90%8D Archlinux - 设置计算机名]
参考文献
评论 (0)