B001 hostname(主機名)修改詳解

1.linux系統在啓動階段,init進程會調用shell腳本文件/etc/rc.d/rc.sysinit,而rc.sysinit會去讀取/etc/sysconfig/network中HOSTNAME項作爲主機名稱。

在linux啓動後,機器的主機名會放到內存虛擬文件系統/proc/sys/kernel/hostname文件中。因此,修改/etc/sysconfig/network中的主機名可以永久生效,但是需要重啓機器纔可以。

相應地,修改/proc/sys/kernel/hostname中主機名,可以立即生效,但是機器重啓後主機名將會還原回/etc/sysconfig/network中的主機名。

備註:在不同的linux發行版本中,可能涉及到文件路徑不一樣。Debian發行版的hostname的配置文件是/etc/hostname。

 

2.修改主機名幾種方法

(1)新會話立即生效,但是重啓機器後失效

hostname newhostname #修改的是內存中的主機名

(2)新會話立即生效,但是重啓機器後失效

echo newhostname > /proc/sys/kernel/hostname #修改的是內存中的主機名

(3)新會話立即生效,但是重啓機器後失效

sysctl kernel.hostname=newhostname #修改的是內存中的主機名

(4)重啓機器纔會生效

修改/etc/sysconfig/network文件中的HOSTNAME項,是重啓機器纔會生效,不是重啓網絡服務生效哦

(5)新會話立即生效,且重啓機器後也生效

就是用(4)配合(1)(2)(3)中的任何一個就達到目的了

 

CentOS7下修改主機名

第一種:hostname 主機名

hostname 主機名稱

這種方式,只能修改臨時的主機名,當重啓機器後,主機名稱又變回來了。

第二種:hostnamectl set-hostname <hostname>

命令行中輸入

hostnamectl set-hostname <主機名>

使用這種方式修改,可以永久性的修改主機名稱!

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章