目錄

更改 hostname

如何在 CentOS 7 上更改 Hostname

每一台 Linux 主機都會有一個自己的主機名稱(hostname),若主機名稱沒有設定正確,對許多的網路服務都會造成影響,以下介紹如何在 CentOS 7 的系統中,查詢與更改主機名稱的設定。本篇介紹如何在 RedHat 或 CentOS Linux 7 的系統中,指令來查詢並修改主機名稱。

什麼是 hostname?

主機名稱,又稱節點名稱,在連上電腦網路時,特定裝置使用的名稱。在進行電子通訊時,可以用來識別某個裝置之用,諸如全球資訊網、電子郵件、Usenet中都使用主機名稱來當成識別之用。 在網際網路中,主機名稱被附在域名系統的域名之後,形成完整網域名稱。

雖然這是一個簡單易了解的概念,但很多人經常被它搞糊塗。

在 Internet 等公共網路中,hostname必須與域名結合使用。這表明它位於 Internet 的哪個“mini zone”。例如:

				
					server1.example.com
				
			

在這種情況下,server1是我們要訪問的主機名,example 是域名。最後 .com 被認為是頂級域。

這些可識別的名稱稱為“Fully Qualified Domain Names”(FQDN),包括主機名稱和與該主機關聯的域名。

將主機名放置在 private 網路上沒有任何限制。但是,在主機可以訪問 Internet 的情況下,它必須與域名相結合。

Linux 為我們提供了很多伺服器特性。當然,只需幾個步驟即可更改 CentOS 7 機器上的主機名。

在 CentOS 7 上使用 Hostname 和 Hostnamectl 命令更改主機名

首先,我們必須使用 SSH 連接到我們的伺服器,我們必需從電腦打開一個終端,如果您是 MacOS 運用 terminal 進行遠端連線,如果您是 Windows 介面您可以安裝 putty。如果您遇到問題,這裡有一個 ssh 遠端教學可以幫助您。

接下來我們需要用 root 帳號來更改主機名。要獲得此權限,請使用超級用戶命令,如下所示:

				
					su
				
			

執行此命令時,我們必須輸入 root 密碼。沒有root 密碼,我們就無法繼續。

接下來,我們可以通過執行以下命令查看目前主機名:

				
					hostname
				
			

如我們所見,在執行 hostname 命令時,我們可以查看主機的主機名。也可以使用以下命令執行此操作:

				
					hostnamectl
				
			

利用這個 hostnamectl 指令,我們可以獲得更多有關主機名相關資訊。

				
					[root@pleskdemo ~]# hostnamectl
   Static hostname: pleskdemo.taki.com.tw
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 0cbb320729e54313b802f211e88ebaf3
           Boot ID: 184f4dec91254e209c5e6e97a288796e
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.71.1.el7.x86_64
      Architecture: x86-64

				
			

如果我們想更改主機名,我們只需要執行以下命令:

				
					hostnamectl set-hostname [新主機名]
				
			

舉例:

				
					hostnamectl set-hostname demo
				
			

我們再次執行 hostnamectl 命令來檢查更改是否成功。

				
					hostname
				
			

通過編輯 /etc/hostname 文件更改 CentOS 7 上的主機名

還有另一種更改主機名的方法。我們可以通過使用 vi 或 nano 等編輯器編輯文件 /etc/hostname 來做到這一點。

				
					vi /etc/hostname
				
			

打開文件後,我們將看到主機名所在的一行。我們只需要用新的替換它。當我們使用 vi 時,按 i 鍵進入插入模式。然後,更改主機名。之後,按 Esc 鍵退出插入模式,然後按 :wq 鍵保存更改並退出。

現在,我們必須驗證一切正常。為此,請執行以下命令:

				
					hostname
				
			

靜態、臨時和漂亮的主機名

Linux主機名分為靜態主機名(static hostname)、臨時主機名(transient hostname)以及 pretty 主機名(理解為:漂亮的主機名)。

靜態主機名用於系統啟動時設置內核參數;存儲於/etc/hostname 中。

臨時主機名默認從網路配置中獲取,如果靜態主機名生效,則臨時主機名沒用。

pretty 主機名對字符幾乎沒有限制,可以設置為你喜歡的任意主機名。

/etc/hostname 文件沒有主機名的時候,在系統啟動的時候,內核會將 transient 初始化為 localhost.localdomain。

當我們使用命令 hostnamectl 或通過編輯文件 /etc/hostname 建立主機名時,它成為我們的靜態主機名——它不會改變。

但是,我們可以定義一個臨時的主機名。這稱為臨時主機名。它只會在我們重新啟動系統之前處於活動狀態。為此,我們必須在 hostnamectl 命令上添加–transient選項。

				
					hostnamectl set-hostname transienthostname –-transient
				
			

再來我們檢查更改。

				
					hostname
				
			

最後,我們可以選擇建立一個支援 UTF-8 的主機名,以進一步改進其顯示效果。此主機名稱為 Pretty。為此,我們將 –pretty 選項添加到 hostnamectl 命令。

				
					hostnamectl set-hostname newprettyhostname --pretty
				
			

這樣我們就可以擁有一個支援 UTF-8 的主機名。

結論

在 CentOS 中,我們有幾種方法可以更改主機名。

擁有主機名有助於識別網路上的主機,讓您管理更加容易!

TAKI Cloud 雲端主機
TAKI Cloud 雲端主機 只要470元起
TAKI Cloud 實體主機 Dedicated Server
TAKI Cloud 實體主機 只要4,500起
TAKI Cloud 中華電信 主機代管 服務
TAKI Cloud 主機代管 只要2,000元起

By taki

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *