NAME

hostnamectl - 控制系統的主機名

SYNOPSIS

hostnamectl [OPTIONS...] {COMMAND}

描述

hostnamectl 可用於查詢與修改系統主機名以及其他相關設定。 所謂"主機名",其實有三種不同的含義:
"pretty"主機名,僅供人類閱讀,可以包含各種特殊字元, 例如"Lennart's Laptop"(必須是UTF-8編碼)。 pretty(易讀主機名)、chassis(裝置型別)、icon(圖示名稱)儲存在 /etc/machine-info 檔案中, 詳見 machine-info(5) 手冊。
"static"主機名,用於在系統啟動時設定核心的主機名,僅可包含 "-","a-z","0-9" 字元,例如"lennarts-laptop"。 此種主機名就是通常所說的"主機名",儲存在 /etc/hostname 檔案中, 詳見 hostname(5) 手冊。
"transient"主機名,是從網路配置中獲得的 fallback 主機名, 同樣僅可包含 "-","a-z","0-9" 字元。 如果存在"static"主機名且不等於"localhost", 那麼將忽略"transient"主機名。
可以使用 systemd-firstboot(1) 初始化已掛載(但未啟動)的系統映象的主機名(hostname)。

選項

能夠識別的命令列選項如下:
--no-ask-password
在執行特權操作時不向使用者索要密碼。
--static, --transient, --pretty
與預設的 status 命令一起使用, 表示僅顯示特定的主機名(不可同時使用多個選項)。
 
set-hostname 命令一起使用, 表示僅更新特定的主機名(可以同時使用多個選項)。
-H, --host=
操作指定的遠端主機。可以僅指定一個主機名(hostname), 也可以使用 "username@hostname" 格式。 hostname 後面還可以加上容器名(以冒號分隔), 也就是形如 "hostname:container" 的格式, 以表示直接連線到指定主機的指定容器內。 操作將透過SSH協議進行,以確保安全。 可以透過 machinectl -H HOST 命令列出遠端主機上的所有容器名稱。
-M, --machine=
在本地容器內執行操作。 必須明確指定容器的名稱。
-h, --help
顯示簡短的幫助資訊並退出。
--version
顯示簡短的版本資訊並退出。
能夠識別的命令如下:
status
顯示當前的主機名及其他相關資訊。 這是預設命令。
set-hostname NAME
將系統的主機名設為 NAME 。 如果使用了 --static, --transient, --pretty 選項, 那麼只更新指定的主機名, 否則同時更新 pretty, static, transient 三個主機名。 如果在設定 pretty 主機名的同時也設定 static/transient 主機名, 那麼 static/transient 主機名將根據如下規則從 pretty 主機名派生而來: 首先將空格替換為 "-" , 然後將大寫字母轉換為小寫字母, 最後刪除不在"-","a-z","0-9"範圍內的字元。 這樣可以確保 static/transient 主機名始終保持與 pretty 主機名一致, 同時又不違反自身的命名規則。 如果僅設定 static/transient 主機名, 則不會對 pretty 主機名產生任何影響。
 
注意,若設為空字串, 則表示將主機名重置為預設值(通常是 "localhost")。
set-icon-name NAME
將系統的圖示名設為 NAME , 某些圖形介面的應用程式會根據此設定給主機配上適當的圖示。 此名稱必須遵守 圖示命名規範[1]。
 
注意,若設為空字串, 則表示將圖示名重置為預設值(通常由"裝置型別"決定)。
set-chassis TYPE
將系統的裝置型別設為 TYPE, 某些圖形介面的應用程式 會根據此設定切換到合適的人機介面之類。 取值範圍如下: "desktop"(桌上型電腦), "laptop"(筆記本), "server"(伺服器), "tablet"(平板電腦), "handset"(智慧手機), "watch"(智慧手錶), "embedded"(嵌入式裝置), "vm"(虛擬機器), "container"(容器)。
 
注意,若設為空字串, 則表示將裝置型別重置為預設值(通常由主機板韌體決定)。
set-deployment ENVIRONMENT
將系統的部署環境設為 ENVIRONMENT 。 必須設為一個單獨的單詞且禁止包含任何特殊字元。 建議設為下列單詞中的一個: "development"(開發), "integration"(綜合), "staging"(階段), "production"(生產)
 
注意,若設為空字串,則表示將部署環境重置為預設值(同樣是空字串)。
set-location LOCATION
將系統的地理位置設為 LOCATION 。 必須設為一個人類易讀字串, 準確的描述出主機所在的物理位置。 例如: "XX資料中心3樓E23機櫃U7"
 
注意,若設為空字串,則表示將地理位置重置為預設值(同樣是空字串)。

退出狀態

返回值為 0 表示成功, 非零返回值表示失敗程式碼。

參見

systemd(1), hostname(1), hostname(5), machine-info(5), systemctl(1), systemd-hostnamed.service(8), systemd-firstboot(1)

NOTES

1.
圖示命名規範

本頁面中文版由中文 man 手冊頁計劃提供。
翻譯人員:金步國
 
金步國作品集:http://www.jinbuguo.com
 
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh

Recommended readings

Pages related to hostnamectl you should read also: