如何在CentOS 7上更改主机名

时间:2020-03-05 15:27:08  来源:igfitidea点击:

本教程将指导我们完成在CentOS 7系统上更改主机名的过程。

主机名是在安装CentOS操作系统时设置的,或者如果我们正在启动虚拟机,则会在启动时将其动态分配给实例。

本教程中描述的方法无需重新启动系统即可使用。

准备工作

在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。

了解主机名

主机名是用于标识网络上计算机的标签。
我们不应在同一网络上的两台不同计算机上使用相同的主机名。

主机名分为三类:“static”,“pretty”和“transient”。

  • 'static'-传统的主机名,可以由用户设置,并存储在'/etc/hostname'文件中。
  • 'pretty'-用于向用户展示的自由格式UTF8主机名。例如“ theitroad的桌面”。
  • 'transient'-内核维护的动态主机名,可以在运行时由DHCP或者mDNS服务器更改。默认情况下,它与“静态”主机名相同。

建议对“静态”和“transient”名称(例如“ host.example.com”)都使用完全限定的域名('FQDN')。

显示当前主机名

要查看当前主机名,请输入以下命令:

hostnamectl

从上图可以看到,当前主机名设置为'localhost.localdomain'。

更改主机名

方法1:使用“ hostnamectl”命令

在CentOS 7中,我们可以使用命令'hostnamectl'更改系统主机名和相关设置,语法如下:

sudo hostnamectl set-hostname host.example.comsudo hostnamectl set-hostname "Your Pretty HostName" --prettysudo hostnamectl set-hostname host.example.com --staticsudo hostnamectl set-hostname host.example.com --transient

例如,如果我们想将系统静态主机名更改为'host.theitroad.com',我们可以使用以下命令:

sudo hostnamectl set-hostname host.theitroad.com

要将漂亮的主机名设置为“ theitroad的桌面”,请输入:

sudo hostnamectl set-hostname "theitroad's desktop" --pretty

'hostnamectl'命令不会产生输出。
成功时,返回0,否则返回非零失败代码。

方法2:使用“ nmtui”命令

“ nmtui”是NetworkManager的文本用户界面,也可以用于更改主机名。

要启动“ nmtui”实用程序,请运行以下命令:

sudo nmtui

使用箭头键浏览选项,选择“设置系统主机名”,然后按“ Enter”:

设置新主机名:

按Enter确认主机名更改:

最后,重新启动“ systemd-hostnamed”服务,以使更改生效:

sudo systemctl restart systemd-hostnamed

方法3:使用“ nmcli”命令

“ nmcli”是用于控制NetworkManager的命令行工具,也可以用于更改主机名。

要查看当前主机名,请输入:

sudo nmcli general hostname

要将主机名更改为“ host.theitroad.com”,请使用以下命令:

sudo nmcli general hostname host.theitroad.com

最后,重新启动“ systemd-hostnamed”服务,以使更改生效:

sudo systemctl restart systemd-hostnamed

验证变更

要验证主机名是否已成功更改,请使用“ hostnamectl”命令:

hostnamectl

新主机名将被打印在控制台上:

Static hostname: host.theitroad.com
   Pretty hostname: theitroad's desktop
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 52d6807a6ae34327871ae568f7a1387e
           Boot ID: 4f747d0280d3402abed870d18b6e9a7a
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-693.11.6.el7.x86_64
      Architecture: x86-64