【LINUX 學習】檢視和修改主機名

楊奇龍發表於2010-12-08

檢視主機名
1 直接檢視/proc/sys/kernel/hostname中的名字
[root@localhost ~]# cat /proc/sys/kernel/hostname
localhost.localdomain
2 使用sysctl kernel.hostname
[root@localhost ~]# sysctl kernel.hostname
kernel.hostname = localhost.localdomain
3 使用hostname 檢視
[root@localhost ~]# hostname
localhost.localdomain
修改主機名:
1 直接修改/proc/sys/kernel/hostname中的名字
2 使用hostname 命令修改。
[root@localhost ~]# hostname yang.com
[root@localhost ~]# hostname
yang.com
3 使用sysctl kernel.hostname=newhostname
[root@localhost ~]# sysctl kernel.hostname=yang.oracle,com
kernel.hostname = yang.oracle,com
[root@localhost ~]# cat /proc/sys/kernel/hostname
yang.oracle,com
[root@localhost ~]# hostname
yang.oracle,com
這裡有個疑問,為什麼修改後bash不會馬上更改提示字串中的主機名。因為重新設定後,並沒有重新設定bash中的提示字串。因此bash提示沒有改變。

--設定主機名。
上面的三種方法只能修改核心中的主機名。就是說修改後只是儲存在記憶體中,重新啟動後,新設定的主機名就會被清除。如何永久的更改主機名呢?
1 在RC script. 中重新設定新的主機名。
2 修改/etc/sysconfig/network中的hostname
3 修改/etc/sysctl.conf中定義的kernel.hostname引數
建議使用第二種方法,因為系統啟動的過程中會去執行rc.sysinit便會依據/etc/sysconfig/network中的HOSTNAME 引數來設定系統的主機名。
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
這裡使用第二種方法更改
[root@localhost ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=YANG.oracle

"/etc/sysconfig/network" 3L, 56C written
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=YANG.oracle
[root@localhost ~]# reboot
Broadcast message from root (pts/0) (Wed Dec  8 12:20:02 2010):
The system is going down for reboot NOW!
[root@localhost ~]#
修改後必須重新啟動才能重新呼叫新的主機名。
[root@YANG ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=YANG.oracle
[root@YANG ~]# hostname
YANG.oracle
[root@YANG ~]# sysctl kernel.hostname
kernel.hostname = YANG.oracle

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-681158/,如需轉載,請註明出處,否則將追究法律責任。

相關文章