主機名稱
外觀
主機名稱(英語:hostname),又稱節點名稱(nodename),在連上電腦網路時,特定裝置使用的名稱。在進行電子通訊時,可以用來識別某個裝置之用,諸如全球資訊網、電子郵件、Usenet中都使用主機名稱來當成識別之用。
在網際網路中,主機名稱被附在域名系統(DNS)的域名之後,形成完整網域名稱。
Linux
[編輯]定義
[編輯]systemd項目
[編輯]- pretty主機名,僅供人類閱讀,可以包含各種特殊字符, 例如"Lennart's Laptop"(必須是UTF-8編碼)。 pretty主機名、chassis(設備類型)、icon(圖標名稱)存儲在
/etc/machine-info
文件中, 詳見 machine-info(5) (頁面存檔備份,存於網際網路檔案館) 手冊。 - static主機名(靜態主機名),在主機啟動時,將會使用它初始化內核主機名。靜態主機名,存儲在
/etc/hostname
文件中, 詳見 hostname(5) (頁面存檔備份,存於網際網路檔案館) 手冊。 - transient主機名(臨時主機名),是一個備用的數值,以供網絡配置搜索時使用。如果配置了靜態主機名且該值是可用時(不為localhost時),臨時主機名將不會被使用。[2] 臨時主機名是映射內核主機的。[3]
內核主機名
[編輯]內核主機名(kernel hostname),是該機器的機器名,可通過 /proc/sys/kernel/hostname
文件查看[4],主機在啟動時,將會 /etc/hostname
讀取主機名,可通過hostname
命令和hostnamectl
命令設置臨時主機名,但設置的臨時主機名在重啟時將會消失;也可以通過 hostnamectl
命令設置靜態主機名,重啟後不會消失。
相關工具
[編輯]hostname (net-tools項目)
[編輯]hostname
命令通過gethostname
函數和 sethostname
函數進行主機名的讀寫。[5][6]而該主機名存儲在內核內存中 utsname
資料結構中。[4] hostname
命令實質操作的對象是臨時主機名。
hostnamectl(systemd項目)
[編輯]hostnamectl
用於控制系統的主機名。
該命令可 查詢與修改系統主機名以及其他相關設置。它可操作pretty主機名、靜態主機名以及臨時主機名。[2]
主機名稱的操作
[編輯]$ hostname
localhost
# 設置臨時主機名稱
$ hostname manger1
$ hostname
manger1
# 設置靜態主機名稱,同時內核主機名稱也會被更新
$ sudo hostnamectl set-hostname manager2
$ hostnamectl status
Static hostname: manager2
Icon name: computer-vm
Chassis: vm
Machine ID: c0fddf681459441c980f6f25e80e9976
Boot ID: 4265c546e7cd4542bc832e41d6ae0788
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-957.12.2.el7.x86_64
Architecture: x86-64
$ cat /etc/hostname
manager2
相關網站
[編輯]參考文獻
[編輯]- ^ hostnamectl(1) — manpages-zh — Debian buster — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ 2.0 2.1 2.2 hostnamectl(1) — systemd — Debian buster — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ hostnamed. www.freedesktop.org. [2020-03-12]. (原始內容存檔於2020-08-18).
- ^ 4.0 4.1 uname(2) — manpages-dev — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ hostname(1) — manpages-zh — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].
- ^ sethostname(2) — manpages-dev — Debian jessie — Debian Manpages. manpages.debian.org. [2020-03-12].