hostname命令,修改主機名及host文件

Linux操作系統的hostname是一個kernel變量,可以通過hostname命令來查看本機的hostname。也可以直接cat /proc/sys/kernel/hostname查看。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。早期版本這個命令屬於net-tool工具的一部分,現在由hostname程序完全提供。

-----------------------------------
hostname
-----------------------------------
cat /proc/sys/kernel/hostname
-----------------------------------
上面兩種輸出結果相同。

修改運行時Linux系統的hostname,即不需要重啓系統,運行後立即生效,但是在系統重啓後會丟失所做的修改,如果要永久更改系統的hostname,就要修改相關的設置文件


一、命令格式:

hostname [參數]
參數:
-h   顯示幫助文檔

-V   顯示命令版本

-v   顯示詳細執行過程

-a   顯示主機別名

-d   顯示主機dns域名

-F   file 從文件讀取  

-f   顯示完全格式的域名

-A   顯示機器的全部FQDNs

-i   顯示指定主機的ip地址

-I   顯示主機所有的地址

-s   以短格式顯示,僅顯示從第一個點分開的部分

-y   顯示nis域名


二、舉例

1.臨時修改:
-----------------------------------
hostname newhostname
-----------------------------------

2.永久修改,通過配置文件修改,系統重啓後生效:
-----------------------------------
vi /etc/sysconfig/network     #CentOS系列發行版的配置文件,

NETWORKING=yes

HOSTNAME=hostname     #在這修改把hostname的內容給成你的新主機名即可
-----------------------------------
vi /etc/hostname          #Debian系列發行版配置文件
hostname            #在這修改把hostname的內容給成你的新主機名即可
-----------------------------------
vi /etc/HOSTNAME       #SUSE系列發行版配置文件
hostname            #在這修改把hostname的內容給成你的新主機名即可
-----------------------------------

3、設置FQDN
FQDN是Fully Qualified Domain Name的縮寫, 含義是完整的域名. 例如, 一臺機器主機名(hostname)是www, 域後綴(domain)是example.com, 那麼該主機的FQDN應該是 www.example.com.另外, 其實FQDN最後是以”.”來結尾的, 但是大部分的應用和服務器都允許忽略最後這個點。
Linux允許用戶通過hostname命令查看並設置主機名。 用戶也可以通過hostname -f命令得到該主機的FQDN. 但是, 卻沒有直接設置FQDN的命令,可以通過 /etc/hostname + /etc/hosts組合進行設置

編輯 /etc/hosts,增加一行
--------------------------------------------------
172.0.0.1 hostname.example.com hostname        #172.0.0.1爲主機的ip地址,hostnamew爲上面設置的主機名,example.com域名
--------------------------------------------------
退出ssh,再登陸,就應該生效。上面的方法Debian,SUSE,CentOS系列都適用

4、查看主機名
-----------------------------------
[root@CentOS ~]# hostname
CentOS
-----------------------------------

5、查看主機FQDN
-----------------------------------
[root@CentOS ~]# hostname -f
CentOS.example.com
-----------------------------------


三、host文件
hosts文件的作用相當如DNS,提供IP地址到hostname的對應。早期的互聯網計算機少,單機hosts文件裏足夠存放所有聯網計算機。不過隨着互聯網的發展,這就遠遠不夠了。於是就出現了分佈式的DNS系統。由DNS服務器來提供類似的IP地址到域名的對應。具體可以man hosts。Debian,SUSE,CentOS系列都適用

Linux系統在向DNS服務器發出域名解析請求之前會查詢/etc/hosts文件,如果裏面有相應的記錄,就會使用hosts裏面的記錄。/etc/hosts文件通常裏面包含這一條記錄

127.0.0.1 localhost.localdomain localhost

hosts文件格式是一行一條記錄,分別是IP地址 hostname aliases,三者用空白字符分隔,aliases可選。

127.0.0.1到localhost這一條建議不要修改,因爲很多應用程序會用到這個,比如sendmail,修改之後這些程序可能就無法正常運行。

修改hostname後,如果想要在本機上用newhostname來訪問,就必須在/etc/hosts文件裏添加一條newhostname的記錄。比如我的eth0的IP是192.168.1.61,我將hosts文件修改如下:
 
-----------------------------------
vi /etc/hosts

127.0.0.1 localhost.localdomain localhost

192.168.1.61 CentOS.example.com CentOS
-----------------------------------
這樣,我就可以通過CentOS或者CentOS.example.com來訪問本機。

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