(可用)Centos 修改主机名(永久修改)

看了很多的技术文章,讲到Centos 修改 HOSTNAME 时,一般就几个回答:

(1)临时修改

         直接 hostname XXX  然后再起一个新的会话,就生效了,只是重启后,主机名又恢复原样了。

 (2)永久更改,主要是两个文件

         vim /etc/sysconfig/network 然后修改 HOSTNAME= XXX

         vim /etc/hosts  然后找到 127.0.0.1 中,看对应的主机名,修改为 XXX

         

         然后呢,重启就可以了。

  

   修改为其他的名字后,确实是可以生效的。

   但是如果只是想用 localhost 作为主机名时,可能你在 /etc/sysconfig/network 修改主机名为 localhost 并不一定会生效,有可能是4WAN_1LAN_IPSec_VPN_Router  这种主机名。

那怎么办呢?一般来说,就是在 /etc/sysconfig/network 修改主机名为 localhost 后,在 /etc/rc.localhost 加入开机自动执行主机名修改为 localhost 即可,即是加入  hostname localhost 。

   ==============================================================================

   hostname 是 Linux 系统下的一个内核参数,它保存在 /proc/sys/kernel/hostname 下,但是它的值是 Linux  启动时从 /etc/rc.d/rc.sysinit 读取的。

    Hostname is a kernel parameter which stores hostname of the system. Its location is"/proc/sys/kernel/hostname" The value for this parameter is loaded to kernel by rc.sysinit file during the boot process.

 结论:(1) /etc/sysconfig/network 确实是 hostname 的配置文件, hostname 的值跟该配置文件中的 HOSTNAME 有一定的关联关系,但是没有必然关系, hostname 的值来自内核参数 /etc/proc/kernel/hostname。如果通过命令强制修改内核参数, sysctl kernel.hostname=TEST 修改了内核参数,主机名就已经修改为 TEST 了。 但是 /etc/sysconfig/network 中的值并没有改变,所以说,内核参数才是主导。

         (2) hostname 与 /etc/hosts 下的配置有关系吗?答案是:主机名与这个配置文件没有关系,即是说,修改主机名,并不依赖 /etc/hosts 文件。其实 /etc/hosts 的作用相当于 DNS,  提供  IP 地址到 hostname 的对应。比如, 在这里定义了 127.0.0.1 对应 localhost 后, 127.0.0.1 这个IP地址,与域名 localhost 是同一指向 127.0.0.1  

       

猜你喜欢

转载自hwzyyx.iteye.com/blog/2409992
今日推荐