HOSTNAMECTL(1)

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.  圖示命名規範
    http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

跋
本頁面中文版由中文 man 手冊頁計劃提供。

翻譯人員：金步國
金步國作品集：http://www.jinbuguo.com
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh