本篇介紹如何在 RedHat 或 CentOS Linux 7 的系統中,使用 hostname
與 hostnamectl
指令來查詢並修改主機名稱。
每一台 Linux 主機都會有一個自己的主機名稱(hostname),若主機名稱沒有設定正確,對許多的網路服務都會造成影響,以下介紹如何在 RedHat 或 CentOS Linux 7 的系統中,查詢與更改主機名稱的設定。
查詢主機名稱
若要查詢主機名稱,可以使用 hostname
指令。簡短的主機名稱,可以使用 -s
參數查詢:
# 顯示主機名稱 hostname -s
linode02
完整的 FQDN,可以使用 -f
參數查詢:
# 顯示主機的 FQDN hostname -f
linode02.gtwang.org
若要顯示主機所有的 FQDN,則可加上 -A
參數:
# 顯示主機所有的 FQDN hostname -A
li1586-70.members.linode.com linode02.gtwang.org
若要顯示主機的 DNS 網域名稱,則可加上 -d
參數:
# 顯示主機的 DNS 網域名稱 hostname -d
gtwang.org
若主機有設定別名(alias),可用 -a
查詢(不過這個參數已經過時了,不建議繼續使用):
# 顯示主機別名 hostname -a
更改主機名稱
若要更改主機名稱,可以使用 hostnamectl
指令,以下是這個指令的使用方式。
# 顯示目前主機名稱設定
hostnamectl
Static hostname: localhost.localdomain Icon name: computer-vm Chassis: vm Machine ID: 50f8c7061d9046bfb883e7cf078f99be Boot ID: 8d2588e972c54d07abe43e0192d0860f Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-957.el7.x86_64 Architecture: x86-64
若要更改主機名稱,可以使用 set-hostname
參數,並指定新的主機名稱,假設我們想將主機名稱設定為 myhost.gtwang.org
,則執行:
# 更改主機名稱設定
hostnamectl set-hostname myhost.gtwang.org
更改完後,再查詢一次,確認設定是否正確:
# 顯示目前主機名稱設定
hostnamectl
Static hostname: myhost.gtwang.org Icon name: computer-vm Chassis: vm Machine ID: 50f8c7061d9046bfb883e7cf078f99be Boot ID: 8d2588e972c54d07abe43e0192d0860f Virtualization: vmware Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-957.el7.x86_64 Architecture: x86-64
這樣就完成主機名稱的更改設定了。
若需要設定主機的別名(alias),可以參考 hosts
的線上手冊,直接更改 /etc/hosts
的設定。
# 閱讀 hosts 的線上手冊
man hosts
參考資料:Red Hat