當(dāng)我覺得對(duì)Linux系統(tǒng)下修改hostname已經(jīng)非常熟悉的時(shí)候,今天碰到了幾個(gè)個(gè)問題,這幾個(gè)問題給我好好上了一課,很多知識(shí)點(diǎn),當(dāng)你覺得你已經(jīng)掌握的時(shí)候,其實(shí)你了解的還只是皮毛。技術(shù)活,切勿淺嘗則止!
實(shí)驗(yàn)環(huán)境:Red Hat Enterprise Linux Server release 5.7 (Tikanga) ,其它版本Linux可能有所不同。請(qǐng)以實(shí)際環(huán)境為準(zhǔn)。
其實(shí)我多次修改過hostname,一般只需要修改 /etc/hosts 和 /etc/sysconfig/network 兩個(gè)文件下相關(guān)配置即可。但是,今天我遇到了兩個(gè)問題:
問題1: 為什么/etc/sysconfig/network配置文件中HOSTNAME為localhost.localdomain,但是顯示的hostname為po132345806-a,那到底hostname的配置值放在哪里?
[root@po132345806-a ~]# more /etc/hosts # Do not remove the following line, or various programs# that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 [root@po132345806-a ~]# more /etc/sysconfig/networkNETWORKING=yes NETWORKING_IPV6=yesHOSTNAME=localhost.localdomain
有圖有真相,免得大家不相信這個(gè)現(xiàn)象,當(dāng)我第一次碰到這種特殊情況時(shí),我也非常納悶。Google了一些資料加上自己的實(shí)踐才弄明白

問題2: 修改了hostname后,如何使其立即生效而不用重啟操作系統(tǒng)。
問題3: 修改hostname有幾種方式?
問題4: hostname跟/etc/hosts 下配置有關(guān)系嗎?
問題5: 如何查看hostname的值,以那個(gè)為準(zhǔn)?
問題1解答:我一直以為hostname的值配置在/etc/sysconfig/network中,這個(gè)文件里面HOSTNAME配置為啥,hostname值就是啥。但是為什么出現(xiàn)上面那種情況呢?難道/etc/sysconfig/network
不是hostname的配置文件,難道還另有其它配置文件?于是我當(dāng)時(shí)實(shí)驗(yàn)了一下修改了/etc/sysconfig/network文件中HOSTNAME為DB-Server,發(fā)現(xiàn)hostname的值依然沒有變化,于是重啟了計(jì)算機(jī)
"/etc/sysconfig/network" 3L, 66C written 132345806-a ~]# hostname 806-a.gfg1.esquel.com 132345806-a ~]# more /proc/sys/kernel/hostname 806-a.gfg1.esquel.com 132345806-a ~]# sysctl kernel.hostname ostname = po132345806-a.gfg1.esquel.com 132345806-a ~]# 132345806-a ~]# reboot

重啟過后發(fā)現(xiàn)居然hostname變?yōu)镈B-Server了,也就是說修改配置文件/etc/sysconfig/network下的HOSTNAME生效了。那么也就是說應(yīng)該是有人修改過 kernel.hostname,請(qǐng)看下面實(shí)驗(yàn)
[root@DB-Server ~]# more /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=DB-Server.localdomain [root@DB-Server ~]# echo Test > /proc/sys/kernel/hostname [root@DB-Server ~]# more /etc/proc/sys/kernel/hostname /etc/proc/sys/kernel/hostname No such file or directory [root@DB-Server ~]# more /proc/sys/kernel/hostname Test [root@DB-Server ~]# /etc/init.d/network restart Shutting down interface eth [ OK ] Shutting down loopback interface [ OK ] Bringing up loopback interface [ OK ] Bringing up interface eth Determining IP information for eth0... done. [ OK ] [root@DB-Server ~]# hostname Test [root@DB-Server ~]#
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注