文章目录
概要
在os中如何设置自己的hostname是很重要,而且我们需要中hostname是从哪里来的,又是怎么来的,其中相互之间的逻辑又是怎么样的,在centos中其中查看hostname主要有hostnamectl这个工具,具体如何使用就可以hostnamectl -h查看。
hostname的来源
现在主要的hostname的设置方式主要有三个地方
静态主机名(static):静态主机名也称为内核主机名,是系统在启动时初始化内核的主机名,默认从/etc/hostname读取配置自动初始化静态主机名
· 瞬态主机名(transient):瞬时主机名是在系统运行时临时分配的主机名,例如,由DHCP等一些系统临时分配的主机名,如果系统存在静态主机名且有效,则不会用到瞬态主机名。存储路径为/proc/sys/kernel/hostname
· 灵活主机名(pretty):静态和瞬态主机名都是要符合域名的字符串,而pretty主机名则可以包含其他一些特殊字符。存储路径:/etc/machine-info
技术名词解释
静态主机名:这个是最为重要的,基本上只要设置了这个配置文件,那么瞬态主机名也会被设置成这样的。command:hostnamectl set-hostname --static hostname
瞬态主机名:临时主机名字,每一次重启os都会重新获取,主要的获取方式有以下:command:hostnamectl set-hostname --transient hostname
一:直接从静态主机名获取写入,于静态主机名一致,
二:中dhcp中获取配置,当我们重启机器的时候,就有一个networkmanage的程序会去设置hostname,其中就会从于networkmanage相关的配置中获取主机名
三:mDNS域名获取,通过mNDS服务器来获取相关主机名,首先mDNS服务器会获取其devicename,之后就会使用mDNS服务配置的相关规范例如,devicename+xxxx.com,这中格式设置hostname,但是也许我们可能需要考虑到mDNS会不会有缓存的问题,会不会出现在不同机器中设置同一个ip,会不会导致域名一样,需要考虑一下,只是猜想,题主暂时不能验证
灵活主机名:只有在设置之后,才会有/etc/machine-info的文件hostnamectl set-hostname --pretty hostname