Redhat Linux 7修改主机名hostname

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
注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名

参考文档 https://www.cnblogs.com/wangguoning/p/6599105.html