在CentOS或RHEL中,有三种定义的主机名:a. 静态的(static) ,b. 瞬态的(transient),c. 灵活的(pretty)。
“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统 运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户。
1、通过hostname修改
CentOS 可以使用hostname修改主机。但是这样修改重启就失效了。还需要在/etc/hostname文件中一并修改才可以。
$ hostname ###查看主机名
$ sudo hostname <host-name> ###临时设置主机名,重启后失效
$ sudo vim /etc/hostname ###修改/etc/hostname文件内容
2、通过hostnamectl命令修改
在CentOS7中,可以通过hostnamectl命令查看或修改与主机名相关的配置。
查看主机名相关的设置:
$ hostnamectl status
只查看静态、瞬态或灵活主机名,分别使用“–static”,“–transient”或“–pretty”
$ hostnamectl status [--static|--transient|--pretty]
要同时修改所有三个主机名:静态、瞬态和灵活主机名:
$ sudo hostnamectl set-hostname <host-name>
在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。
如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“–static”,“–transient”或“–pretty”选项。
$ sudo hostnamectl [--static|--transient|--pretty] set-hostname <host-name>
例如修改静态主机名:
注意,不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示就可以看到新的主机名。
3、通过nmcli 工具修改
在Centos 7包含 nmcli 工具,也可被用来修改主机名。
$ nmcli g hostname
$ nmcli g hostname <host-name>
参考:
https://help.aliyun.com/knowledge_detail/6705956.html
http://www.centoscn.com/CentOS/config/2014/1031/4039.html