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

目次
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との違い
| 項目 | hostname | hostnamectl |
|---|---|---|
| 対応OS | 全般 | systemd対応OS |
| 機能 | 単純なホスト名表示・変更 | 詳細なホスト情報と変更 |
| 静的・動的・一時的ホスト名管理 | 不可 | 可 |
| その他の情報(カーネル等)表示 | 不可 | 可 |
まとめ
hostnamectl は、Linuxシステムにおいてホスト名やマシン情報を一元的に管理する便利なコマンドです。特に systemd 環境では、hostname よりも高機能で柔軟性があり、GUIやスクリプトと連携する際にも有効です。ホスト名管理を安全かつ一貫性のある方法で行いたい場合は、hostnamectl の活用が推奨されます。






