一般我們在安裝操作系統的時候會設置主機的名字,但是很多時候,安裝的過程中並不關注這個問題,而是希望更快地將系統安裝完成。有時它們的名字可能會是bogon,或者debian等等。但是很多時候,我使用ssh來連接服務器的時候,希望在界面上直接顯示出主機的名字,特別是在同時連接多於兩個主機的時候,給我更直接的提示,提醒我當前操作的主機是哪一個。
更改主機的名稱有多種方法。
臨時更改運行中的主機的名字
在Linux主機上,可以使用hostname命令來更改主機的名字。
hostname
不使用參數,將顯示當前主機的名字。
hostname --fqd
以上將顯示當前主機的綁定的域名。
hostname new_name
將主機名字設置為new_name,直接就會生效,直到機器重啟。
永久更改主機的名字
Debian
在基於Debian的系統中,系統啟動時將讀取/etc/hostname文件來設置主機的名字。而使用的腳本為/etc/init.d/hostname.sh。
所以可以直接編輯文件/etc/hostname文件,然后運行如下腳本,命名更改生效。
/etc/init.d/hostname.sh start
這種更改在下一次系統啟動時,仍然有效。
RedHat
在基於RedHat的系統中,啟動時讀取文件/etc/sysconfig/network文件來設置主機名稱。執行的腳本文件為/etc/rc.d/rc.sysinit。
因此,只需要更改文件/etc/sysconfig/network文件中的HOSTNAME變量即可。如:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=furzoom
使用sysctl
對於不同的系統使用不同的命令來更改主機的名字,總是會讓人不爽的,那有沒有一致的方法呢?當然有,那就是sysctl命令了。
sysctl kernel.hostname
將顯示當前的主機名稱,可以使用該命令直接設置主機的名稱,如:
sysctl kernel.hostname=furzoom
更多請參考Linux技巧。
