hostnamectl:システム情報を一括表示するsystemd時代の標準ツール

hostnamectl

hostnamectlコマンドについての概要と詳細

hostnamectlとは

hostnamectl は、Linuxシステムのホスト名やマシンの情報(OS、カーネル、アーキテクチャなど)を表示・設定するための systemdベースの管理コマンド です。
従来の hostname コマンドに代わるモダンなツールで、静的・動的・一時的なホスト名の管理ができ、/etc/hostname への直接編集より安全で一貫性のある管理が可能です。

主な特徴

  • ホスト名の表示と変更(静的・動的・一時的)
  • OS情報、カーネルバージョン、アーキテクチャなどの取得
  • systemd環境に最適化されている
  • シンプルで分かりやすい出力形式

インストール方法

ほとんどの systemd対応Linuxディストリビューション(Ubuntu、Debian、Fedora、CentOS、Archなど)では、hostnamectlデフォルトでインストール済みです。
もし入っていない場合は以下で systemd パッケージを導入してください。

Debian/Ubuntu系
$ sudo apt install systemd

Fedora系
$ sudo dnf install systemd

基本的な使い方

現在のホスト情報を表示

$ hostnamectl

静的ホスト名を変更

$ sudo hostnamectl set-hostname my-server

一時的にホスト名を変更(再起動で元に戻る)

$ sudo hostnamectl set-hostname --transient temp-name

ホスト名の種類

  • Static hostname:通常使用されるホスト名(/etc/hostnameに保存)
  • Pretty hostname:スペースや記号を含む人間向けの表示名
  • Transient hostname:DHCPなどにより一時的に割り当てられるホスト名

Pretty hostnameの設定

$ sudo hostnamectl set-hostname "My Linux Machine" --pretty

特定情報だけを確認(例:静的ホスト名)

$ hostnamectl --static

出力例

   Static hostname: my-server
         Icon name: computer-laptop
           Chassis: laptop
        Machine ID: a12bc345d678...
           Boot ID: 9876e54321...
  Operating System: Ubuntu 22.04 LTS
            Kernel: Linux 6.5.0-41-generic
      Architecture: x86-64

補足:従来のhostnameとの違い

項目hostnamehostnamectl
対応OS全般systemd対応OS
機能単純なホスト名表示・変更詳細なホスト情報と変更
静的・動的・一時的ホスト名管理不可
その他の情報(カーネル等)表示不可

まとめ

hostnamectl は、Linuxシステムにおいてホスト名やマシン情報を一元的に管理する便利なコマンドです。特に systemd 環境では、hostname よりも高機能で柔軟性があり、GUIやスクリプトと連携する際にも有効です。ホスト名管理を安全かつ一貫性のある方法で行いたい場合は、hostnamectl の活用が推奨されます。