redhat 7通过hostnamectl功能修改主机名。
目录导航
修改样例
[root@localhost ~]# hostnamectl status
Static hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: abc3dbcb69e34d7789aa725d30a20053
Boot ID: bf067b177317448ba76c6b0e37e9cbb6
Virtualization: kvm
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.3:GA:server
Kernel: Linux 3.10.0-514.el7.x86_64
Architecture: x86-64
[root@localhost ~]# hostnamectl set-hostname gbase8a --static
[root@localhost ~]# hostnamectl status
Static hostname: gbase8a
Transient hostname: localhost.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: abc3dbcb69e34d7789aa725d30a20053
Boot ID: bf067b177317448ba76c6b0e37e9cbb6
Virtualization: kvm
Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.3:GA:server
Kernel: Linux 3.10.0-514.el7.x86_64
Architecture: x86-64
[root@localhost ~]# cat /etc/hostname
gbase8a
[root@localhost ~]#
hostnamectl的参数
[root@localhost ~]# hostnamectl --help
hostnamectl [OPTIONS...] COMMAND ...
Query or change system hostname.
-h --help Show this help
--version Show package version
--no-ask-password Do not prompt for password
-H --host=[USER@]HOST Operate on remote host
-M --machine=CONTAINER Operate on local container
--transient Only set transient hostname
--static Only set static hostname
--pretty Only set pretty hostname
Commands:
status Show current hostname settings
set-hostname NAME Set system hostname
set-icon-name NAME Set icon name for host
set-chassis NAME Set chassis type for host
set-deployment NAME Set deployment environment for host
set-location NAME Set location for host
说明
在CentOS或RHEL中,有三种定义的主机名:静态的(static),瞬态的(transient),以及灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从 /etc/hostname 自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或DNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户。
在CentOS7/RHEL7中,有个叫 hostnamectl 的命令行工具,它允许你查看或修改与主机名相关的配置。
查看系统版本
$ cat /etc/redhat-release
要查看主机名相关的设置:
$ hostnamectl status
只查看静态,瞬态或灵活主机名,分别使用“--static”,“--transient”,“--pretty”选项:
$ hostnamectl --static
$ hostnamectl --transient
$ hostnamectl --pretty
在修改静态,瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname将被自动更新。然而,/etc/hosts不会更新以保存所做的修改,所以你需要手动更新 /etc/hosts。
如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用"--static","--transient"或“--pretty”选项,例如只修改静态主机名:
$ sudo hostnamectl --static set-hostname myhosts
注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名