在CentOS7.2或RHEL7.2中,有三种定义的主机名:静态的(static),瞬态的(transient),以及灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname 自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或DNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户。可以通过hostnamectl、nmtui、nmcli命令修改主机名。

1在CentOS7.2或RHEL7.2中提供了hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。

[root@test ~]#hostnamectl --help

hostnamectl[OPTIONS...] COMMAND ...

Query or changesystem 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 localcontainer

     --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

显示当前主机名设置,MachineID对应文件为/etc/machine-id文件。

[root@test ~]#hostnamectl status

   Static hostname: test

         Icon name: computer-vm

           Chassis: vm

           Machine ID:3d87c0ae15eb4f28bc1256e6cfe56f9d

           Boot ID:76b151b4d927459d84804e5865cad4cf

    Virtualization: vmware

  Operating System: CentOS Linux 7 (Core)

       CPE OS Name: cpe:/o:centos:centos:7

            Kernel: Linux 3.10.0-327.el7.x86_64

      Architecture: x86-64

设置主机名为jason,成功后主机名已经成功修改,通过命令查看已成功如下,仅显示符还未更改过来,命令登陆的退出重新登录即可显示,图形界面注销登陆即可。修改后--pretty主机名保持不变(默认也为空)。主机名成功修改后,/etc/hostname文件内容更新为最新主机名,但是/etc/hosts文件中主机名不变,需要手工修改。

[root@test ~]#hostnamectl set-hostname jason

[root@test ~]# hostname

jason

[root@test ~]#hostnamectl status --static

jason

[root@test ~]#hostnamectl status --transient

Jason

[root@test ~]#hostnamectl status --pretty

[root@test ~]#

2、通过nmtui修改主机名

在终端执行nmtui打开图形界面进行修改,如下:

CentOS7.2如何修改主机名_第1张图片

选择设置主机名,对主机名进行修改。修改之后需要重启systemd-hostnamed.service服务。

同样不需要重启服务器,注销重新登录即可。

3、通过nmcli修改主机名

nmcli可以查看从/etc/hostname文件中查看或者修改static主机名,修改之后需要重启systemd-hostnamed.service服务。不需重启服务器,注销重新登录即可。

[root@jason ~]#nmcli general help

Usage: nmcli general{ COMMAND | help }

COMMAND := { status| hostname | permissions | logging }

  status

  hostname []

  permissions

  logging [level ] [domains]

[root@jason ~]#nmcli general hostname test

[root@jason ~]#systemctl restart systemd-hostnamed.service

[root@jason ~]#hostname

test

[root@jason ~]#