CentOS7更改hostname

Introduction

  在CentOS或RHEL中,有三种定义的主机名:静态(static)、瞬时(transient)、灵活(pretty)。

static:亦称内核主机名,系统启动时从/etc/hostname中自动读取的。遵从互联网域名字符限制规则
transient:系统运行时临时分配的,如DHCP或mDNS分配的。遵从互联网域名字符限制规则
pretty:作为展示,执行任何形式(包含特殊字符、空白等)的主机名,展示给用户

hostnamectl工具

  在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,通过该工具可以查看或修改主机名相关配置。

查看主机名相关配置

1
2
#运行命令
hostnamectl status

可得

1
2
3
4
5
6
7
8
9
10
 Static hostname: iZ28xq5zwj6Z
Icon name: computer-vm
Chassis: vm
Machine ID: 45461f76679f48ee96e95da6cc798cc8
Boot ID: 085c24ed9080447eab7cd013d83df490
Virtualization: xen
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.9.3.el7.x86_64
Architecture: x86-64

只查看static、transient、pretty主机名,可加上增加参数

1
2
#运行命令
hostnamectl status [--static|--transient|--pretty]

修改主机名

同时修改static、transient、pretty主机名,可通过以下命令:

1
2
3
4
5
6
7
8
9
#root权限运行命令
[root@iZ28xq5zwj6Z ~]# hostnamectl set-hostname "Yao's Server"
#查看
[root@iZ28xq5zwj6Z ~]# hostnamectl status --static
yaosserver
[root@iZ28xq5zwj6Z ~]# hostnamectl status --transient
yaosserver
[root@iZ28xq5zwj6Z ~]# hostnamectl status --pretty
Yao's Server

修改static主机名后,/etc/hostname中的文件会自动更新,但/etc/hosts中的不会,需要手动调整
若要单独修改static、transient、pretty主机名,可通过以下命令:

1
2
#运行命令
hostnamectl [--static|--transient|--pretty] set-hostname <host-name>

Reference

http://ask.xmodulo.com/change-hostname-centos-rhel-7.html