Contents
1. 概要
hostnamectl コマンドを使用し、ホスト名を設定します。
hostnamectl は systemd が提供するコマンドで、ホスト名の永続設定(/etc/hostname の更新)を行います。これにより、再起動後も同じホスト名が維持され、ログやプロンプト表示、各種サービスの識別などに反映されます。
設定対象はネットワーク上の DNS 名ではなく、ローカルシステムが自分自身を識別するための静的ホスト名です。
Ubuntu では、このホスト名をローカルで解決できるよう、/etc/hosts にも同一の値を登録するのが一般的です。したがって、/etc/hostname は定義、/etc/hosts はその補助(自己解決)という関係になります。
また、ホスト名は内部的に各種オブジェクトの生成に利用される場合(例: Kubernetes のノード名など)もあるため、一定のシステム規模では、拠点・役割・環境を含む体系的な命名規則を設計することを推奨します。
2. 現在のホスト名を確認
hostnamectl はホスト名の設定だけでなく、現在の状態を確認するコマンドとしても利用できます。
次のように実行すると、システムが保持しているホスト名や仮想化情報、カーネルバージョンなどが表示されます。
hostnamectl status出力結果:
Static hostname: ubuntu-1.si1230.com
Icon name: computer-vm
Chassis: vm
Machine ID: 4675e67b6d9548bc93a8d2c96622e6db
Boot ID: ac888963b62c428eb818204d2ec108e1
Virtualization: parallels
Operating System: Ubuntu 22.04.5 LTS
Kernel: Linux 5.15.0-157-generic
Architecture: arm64
Hardware Vendor: Parallels International GmbH.
Hardware Model: Parallels ARM Virtual Machine出力項目:
| 項目 | 内容 | 用途・補足 |
|---|---|---|
| Static hostname | 永続的なホスト名(/etc/hostname に保存される値) | hostnamectl set-hostname コマンドで設定可能。 |
| Icon name | デスクトップ環境で利用されるシステムアイコン名 | サーバー運用ではほぼ使用されない。GUI 用メタデータ。 |
| Chassis | 筐体タイプ(vm, server, desktop, laptop など) | 仮想/物理区別や資産管理・監視メタデータとして有用。 |
| Machine ID | システム固有の UUID | /etc/machine-id に保存。インスタンス識別などに使用。ホスト名変更とは無関係。 |
| Boot ID | 起動ごとに生成される一時 ID | /proc/sys/kernel/random/boot_id に保存。再起動で変化する。 |
| Virtualization | 仮想化環境の種類 | vmware, kvm, parallels など。仮想基盤の特定に利用可能。 |
| Operating System | OS 名とバージョン | /etc/os-release の内容を参照。 |
| Kernel | 使用中のカーネルバージョン | 運用・トラブルシュート時の重要情報。 |
| Architecture | CPUアーキテクチャ | x86_64, arm64 など。 |
| Hardware Vendor | 仮想/物理機器のベンダー名 | 仮想環境ではハイパーバイザー提供元、物理環境ではメーカー。 |
| Hardware Model | ハードウェアモデル名 | 仮想化製品やハードウェアのモデル識別に使用。 |
補足:
- 実際に設定・変更の対象となるのは Static hostname のみ。
- それ以外の情報は systemd による自動検出であり、基本的には参照専用。
- ただし、
ChassisやVirtualization、Machine IDなどは監視・構成管理のメタ情報として活用されるケースもある。
3. ホスト名の変更
ホスト名を変更するには、hostnamectl set-hostname コマンドを使用します。
この操作によって /etc/hostname の内容が更新され、Static hostname が新しい値に置き換えられます。
sudo hostnamectl set-hostname ubuntu-2.si1230.com確認します。
hostnamectl status出力結果:
Static hostname: ubuntu-2.si1230.com
Icon name: computer-vm
Chassis: vm
Machine ID: 4675e67b6d9548bc93a8d2c96622e6db
Boot ID: ac888963b62c428eb818204d2ec108e1
Virtualization: parallels
Operating System: Ubuntu 22.04.5 LTS
Kernel: Linux 5.15.0-157-generic
Architecture: arm64
Hardware Vendor: Parallels International GmbH.
Hardware Model: Parallels ARM Virtual Machine現在のログインしているシェルのホスト名はリアルタイムでは変わらないためログインし直して確認します。
4. ホスト名に FQDN を使う理由
4.1. FQDN と短縮名の違い
ホスト名には大きく分けて 2 つの形式があります。
| 種類 | 例 | 概要 |
|---|---|---|
| 短縮名(Short hostname) | ubuntu-1 | ドメイン部分を含まない、単純なホスト識別名。 |
| FQDN(Fully Qualified Domain Name) | ubuntu-1.si1230.com | ドメイン階層を含めた完全修飾ドメイン名。 |
短縮名は単体で読みやすく、手軽に設定できる一方、FQDN はそのホストがどのネットワーク階層・用途・拠点に属しているかを一意に表現できます。
4.2. Ubuntu における FQDN の動作
Ubuntu(および Debian 系)では、ホスト名に FQDN を指定可能です。
ホスト名に FQDN を指定した場合、systemd-hostnamed がその値を静的ホスト名として保持し、各種サービスへ提供します。
一方で、プロンプトや syslog の表示では、先頭部分(ドットより前)の短縮名が自動的に使用されます。これは systemd-hostnamed が FQDN から短縮名を抽出して返す動作によるものです。
なお、この処理は /etc/hosts に依存しません。/etc/hostname に設定された FQDN を systemd が直接解釈し、必要に応じて短縮名を内部的に利用する仕組みです。
4.3. 設計上の推奨
管理対象の範囲によって使い分けると良いと思います。以下の通り、単一ドメインである場合は FQDN の意味が薄れますが、複数ドメインである場合は FQDN を推奨します。
ただし、FQDN をホスト名に使用したくない強い要件がない限りは、どちらも FQDN でホスト名を設定する方が個人的におすすめです。
| 運用規模 | 推奨形式 | 理由 |
|---|---|---|
| 単一ドメイン(個人/検証環境) | 短縮名 | 簡潔で運用コストが低い。 |
| 複数ドメイン(中~大規模システム) | FQDN | 一意性・可読性・自動化連携の面で有利。 |
5. 補足
冒頭に記載した通り、/etc/hosts はホスト名と同様の設定を推奨します。/etc/hosts の設定はこちらを参照してください。



