很过人一提到更改hostname首先就想到修改/etc/hostname文件,认为hostname的配置文件就是/etc/hostname。其实不是的。
/etc/hostname与/etc/hosts的区别
/etc/hostname中存放的是主机名,hostname文件的一个例子:
test-vm
/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系
你可以为任何一个IP指定任意一个名字,hostname文件的一个例子:
127.0.0.1 localhost
127.0.1.1 test-vm
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
#hostname
#cat /proc/sys/kernel/hostname
上面两种输出结果相同。
修改运行时Linux系统的hostname,即不需要重启系统
hostname命令可以设置系统的hostname
#hostname newname
newname即要设置的新的hostname,运行后立即生效,但是在系统重启后会丢失所做的修改,如果要永久更改系统的hostname,就要修改相关的设置文件。
修改主机名
echo new-hostname > /proc/sys/kernel/hostname (系统启动时,从此文件中读取主机名字)
hostname new-hostname (即时生效,但系统重启后将失效)