# 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 ~]#
Debian系列显示如下
root@test:
在 "@"后面的就是主机名。
当然也可以使用hostname
命令查看
[root@localhost ~]# hostname
localhost.localdomain
2
或者用uname -n
命令也可以查看
[root@localhost ~]# uname -n
localhost.localdomain
2
知道如何查看主机名了,接下来就是如何修改主机名了 修改主机名有2种方法。
第一种:使用hostnamectl 命令
比如我要把主机名设置成"wangfugui"
hostnamectl set-hostname wangfugui
然后再用hosname
命令查看
[root@localhost ~]# hostname
wangfugui
2
注意:此时命令提示符是不没有变的,还是[root@localhost ~]
需要退出(使用logout,或exit命令可以退出当前登陆)重新登陆命令提示符才会变成[root@wangfugui ~]#
。
第二种:修改
/etc/hostname
文件
使用vim编辑该文件,把wangfugui添加进去,然后保存退出。
但是修改完后不会立即生效需要重启一下systemd-hostnamed.service
systemctl restart systemd-hostnamed.service
重启完成后修改主机名才能正式生效。
个人认为还第一种方法方便,一条命令就行,不用再起额外的服务了。