主机名,也称为计算机名,是提供给网络连接的设备(如系统、交换机、路由器等)的识别名称。同一网络中不能有两个主机名相同的系统。Linux系统给当前主机命名的目的是能够容易记住,尤其是在部署集群的时候更加方便。
一般主机名称都会由IP地址来关联,这样在其它集群中,主机换ip,其它的集群机器不用相应的修改。
默认情况下,可以在终端中找到主机名,但仅当主机名比较长时才显示第一部分(主机名通常表示为:主机名.域名)。
CentOS7中,一共有三种主机名(man手册中说的其实加上iconname一共有4个)分别是pretti、static和transient。
静态名(Static hostname)
“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名
瞬态名(Tansient hostname)
“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。
灵活名(Pretty hostname)
“灵活”主机名也有人叫做“别名”主机名。
“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如guo@gwy)。
“静态”主机名和“瞬态”主机名都遵从作为互联网域名同样的字符限制规则。
查看主机名有许多方法,随着系统版本的变化而变化,查询方法越来越方便。
对于初学者,可以在linux桌面环境下,查看主机名,修改主机名。
a.桌面图形化
对于centos7版本:
桌面上:应用程序――>系统工具――>设置――>详细信息
对于centos8版本:
桌面上:活动――>显示应用程序――>设置――>关于
对于Ubuntu22.04版本:
桌面上:活动――>显示应用程序――>设置――>关于
查看后,根据情况可以进行修改操作:
打开终端,查看效果:
b.伪图形化
我们可以利用nmtui命令完成主机名的查看、修改操作。
nmtui是一个基于图形化的应用程序,用于与NetworkManager进行交互。启动nmtui时,系统会提示用户选择要执行的活动,除非选择退出,不然的话,回车进去都是选择默认的参数,进去后可修改。
命令:nmtui
执行:
移动光标到目标后,可以按回车键。
图形化对于初学者容易理解与操作,但现实工作中,需要利用命令来执行主机名的查看、修改等。常用命令简单介绍如下。更详细的命令应用可以查看命令手册。
a.hostname
执行此命令,可以查看主机名:
b.cat /etc/hostname
c.nmcli g h
上面是命令的简写,可以在录入单个字符的情况下,按Tab键命令可以补全(h补全时可再按一次Tab键,查看有哪些选项,再录入一个字符)如下
d.hostnamectl
命令默认查看完整信息。可以仅查看主机名:
e.uname –a
命令默认查看完整信息。可以仅查看主机名:
f.sysctl
在命令行提示符中,@后面就是主机名,通过查看可以快速了解其他命令执行后,主机名是否修改及是否正确。
退出当前命令行,再打开终端命令行:
此查看主机名类似,修改主机名也是这几种方法,根据情况可任选之一。我们仅讨论命令hostnamectl修改主机名。
hostnamectl --static set-hostname 新主机名
其中—static可以不写,默认是设置静态。
当新主机名中有大写字母时,保存时会将大写字母转换为小写字母。
hostnamectl -- transient set-hostname 新主机名
transient从网络配置中接收到默认临时主机名
pretti可以包括各种特殊字符,会接受大写字母。
退出当前bash。切换到其他终端或bash:
iconname
这个名字主要用于一些图形化界面中,某些桌面会读取这个参数来作为主机名字,类似于 windows上的此电脑”可以使用如下命令设置
hostnamectl set-icon-namMY-comp
前面的修改都是永久生效
临时有效的命令:hostname guo001
切换终端或bash:
查看配置文件,主机名未改变。
主机名的配置文件是/etc/hostname。而把主机名与IP地址绑定在一起的配置文件是/etc/hosts。
查看这个文件与修改这个文件,都很方便。有root权限即可。
一般不通过修改文件而修改主机名。
Linux系统给计算机赋予一个主机名。主机名用于在网络上识别独立的计算机(即使用户的计算机没有联网,也应该有一个主机名)。
hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。
/etc/hosts的内容一般有如下类似内容:
127.0.0.1 localhost.localdomain localhost
192.168.100.2 guowenyun.zqzy.edu guo
显示hostname的更多细节信息
hostname命令可以使用多个参数和一些别名,这些参数在日常操作中是有用的。下面这些命令的结果是基于/etc/hosts的上述配置。
显示IP地址
$ hostname -i
192.168.100.2
显示域名
$ hostname -d
zqzy.edu
显示FQDN格式
$ hostname -f
guowenyun.zqzy.edu