# Howto设置Linux主机名

首先抛出一个问题:何为Linux主机名? 答曰:Linux主机名就是这台计算机的名称。

再提出一个问题:为什么要设置主机名? 这个问题问的好。 平时我们只管理一台服务器的时候主机名可能不那么重要。 但是作为运维攻城狮(工程师)的我们怎么可能只只管理一台服务器呢。 少则3-5台多则几百上千台也可能。 我曾经就管理过170多台服务器,其中包括测试环境和生产环境。 不同环境又包括web服务、业务服务、数据库等不同类型的服务。 这些服务都运行在不同的服务器上的。 有的同学可能会说了,我通过ip也能区分啊。 没错,通过IP固然可以区分,3-5台还能记住,但是多了怎么办。 只能做个表格记录,然后每次都去查表格。这样可以,但是很慢。 如果给每台服务器都设置一个名字呢?会不会更好记住! 就像我们访问网站使用的是域名,而不是IP。

每台刚安装好系统的服务器都有默认的名字。 如果是Debian系列的(如Ubuntu),安装系统的时候会让你设置。 如果是CentOS系列的(如Fedora Rocky Linux openEuler),默认的主机名就是localhost.localdomain

每一台都是localhost.localdomain,根本不好区分啊,就像大家都叫王富贵(看过风雨咒的应该知道,那个村里的全都叫王富贵)一样。风雨咒王富贵片段 (opens new window)

如何查看主机名。 登陆系统后直接就可以看到了 比如 CentOS系列显示如下

[root@localhost ~]#
1

Debian系列显示如下

root@test:
1

在 "@"后面的就是主机名。

当然也可以使用hostname命令查看

[root@localhost ~]# hostname
localhost.localdomain
1
2

或者用uname -n命令也可以查看

[root@localhost ~]# uname -n
localhost.localdomain
1
2

知道如何查看主机名了,接下来就是如何修改主机名了 修改主机名有2种方法。

第一种:使用hostnamectl 命令

比如我要把主机名设置成"wangfugui"

hostnamectl set-hostname wangfugui
1

然后再用hosname命令查看

[root@localhost ~]# hostname
wangfugui
1
2

注意:此时命令提示符是不没有变的,还是[root@localhost ~] 需要退出(使用logout,或exit命令可以退出当前登陆)重新登陆命令提示符才会变成[root@wangfugui ~]#

第二种:修改/etc/hostname文件

使用vim编辑该文件,把wangfugui添加进去,然后保存退出。 但是修改完后不会立即生效需要重启一下systemd-hostnamed.service

systemctl restart  systemd-hostnamed.service
1

重启完成后修改主机名才能正式生效。

个人认为还第一种方法方便,一条命令就行,不用再起额外的服务了。

Howto设置Linux主机名

运维导航   |