提供WordPress、SEO技術與各項 IT 資訊
每一台 Linux 主機都會有一個自己的主機名稱(hostname),若主機名稱沒有設定正確,對許多的網路服務都會造成影響,以下介紹如何在 CentOS 7 的系統中,查詢與更改主機名稱的設定。本篇介紹如何在 RedHat 或 CentOS Linux 7 的系統中,指令來查詢並修改主機名稱。
主機名稱,又稱節點名稱,在連上電腦網路時,特定裝置使用的名稱。在進行電子通訊時,可以用來識別某個裝置之用,諸如全球資訊網、電子郵件、Usenet中都使用主機名稱來當成識別之用。 在網際網路中,主機名稱被附在域名系統的域名之後,形成完整網域名稱。
雖然這是一個簡單易了解的概念,但很多人經常被它搞糊塗。
在 Internet 等公共網路中,hostname必須與域名結合使用。這表明它位於 Internet 的哪個“mini zone”。例如:
server1.example.com
在這種情況下,server1是我們要訪問的主機名,example 是域名。最後 .com 被認為是頂級域。
這些可識別的名稱稱為“Fully Qualified Domain Names”(FQDN),包括主機名稱和與該主機關聯的域名。
將主機名放置在 private 網路上沒有任何限制。但是,在主機可以訪問 Internet 的情況下,它必須與域名相結合。
Linux 為我們提供了很多伺服器特性。當然,只需幾個步驟即可更改 CentOS 7 機器上的主機名。
首先,我們必須使用 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
還有另一種更改主機名的方法。我們可以通過使用 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 中,我們有幾種方法可以更改主機名。
擁有主機名有助於識別網路上的主機,讓您管理更加容易!