什么是主机名

百度百科是这样解释的:

主机名就是计算机的名字(计算机名),网上邻居就是根据主机名来识别的,这个名字可以随时更改,从我的电脑属性的计算机名就可更改。 用户登陆时候用的是操作系统的个人用户帐号,这个也可以更改,从控制面板的用户界面里改就可以了。这个用户名和计算机名无关。

说道主机名不得不说域名系统,百度百科是这样解释的:

因特网上的主机或 Web 站点由主机名识别。主机名有时称为域名。主机名映射到 IP 地址,但是主机名和 IP 地址之间没有一对一关系。

当 Web 客户机发出到主机的 HTTP 请求时,使用主机名。发出请求的用户可能会指定服务器的 IP 地址,而不是主机名,但现在这在因特网上不常见。对于用户来说,主机名比数字 IP 地址更方便。公司、组织和个人常常选择其 Web 站点的主机名,用户能很容易地记住这些主机名。

现代 HTTP 实施中更重要的是,在 HTTP 请求中使用主机名意味着:

* 一个主机名中的服务可以由许多服务器提供,它们有不同的 IP 地址。

* 具有一个 IP 地址的一台服务器可以提供许多主机名中的服务。这称为虚拟主机。虚拟主机说明此过程。

所以在局域网内,主机名是可以替代ip地址的,也更易懂。

方法一

查看源主机名

[root@bigdata2 ~]# uname -a
Linux bigdata2 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

可以看到,上面的bigdata2或者登录用户root@bigdata2中@后面的就是主机名,这里将主机名改成hellohostname

使用hostnamectl命令

[root@bigdata2 ~]# hostnamectl set-hostname hellohostname
[root@bigdata2 ~]# uname -a
Linux hellohostname 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我们看到改动已经生效了,为啥root@bigdata2还是这样呢,是因为保持了这个会话,不会对当前会话生效,需要重启,重启后登录如下所示

Last login: Fri May  4 18:55:17 2018 from 192.168.37.1
[root@hellohostname ~]#

发现已经改了。

方法二

主机名的配置文件一般位于/etc/hostname下,我们先查看一下这个文件

[root@hellohostname ~]# cat /etc/hostname 
hellohostname

发现果然是hellohostname,我们编辑这个文件,将其改回之前的bigdata2

[root@hellohostname ~]# vim /etc/hostname 
[root@hellohostname ~]# cat /etc/hostname 
bigdata2
[root@hellohostname ~]# uname -a
Linux hellohostname 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

对于这个更改,我们发现并没与立即生效,需要重启,重启后结果如下

Last login: Fri May  4 19:08:12 2018
[root@bigdata2 ~]#