手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 ホスト名設定

目次に戻る

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 SystemOS 名とバージョン/etc/os-release の内容を参照。
Kernel使用中のカーネルバージョン運用・トラブルシュート時の重要情報。
ArchitectureCPUアーキテクチャx86_64, arm64 など。
Hardware Vendor仮想/物理機器のベンダー名仮想環境ではハイパーバイザー提供元、物理環境ではメーカー。
Hardware Modelハードウェアモデル名仮想化製品やハードウェアのモデル識別に使用。

補足:

  • 実際に設定・変更の対象となるのは Static hostname のみ
  • それ以外の情報は systemd による自動検出であり、基本的には参照専用。
  • ただし、ChassisVirtualizationMachine 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 の設定はこちらを参照してください。

目次に戻る

Ubuntu 22.04 ホスト名設定

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る