Ubuntu 22.04 でホスト名を設定する手順です。hostnamectl で静的ホスト名を変更し、必要に応じて /etc/hosts に自分自身の名前解決を追加します。
ホスト名は、ログ、監視、バックアップ、構成管理、SSH 接続先、証明書の名前、Kubernetes のノード名などに関係します。あとから変更すると影響範囲が広がるため、短縮名と FQDN の関係を決めてから設定します。
- 静的ホスト名と FQDN の関係
hostnamectlによる変更/etc/hostsで自分自身の名前解決を補う方法hostname、hostname -f、getent hostsによる確認
書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
ホスト名で決めること
まず、短縮名と FQDN を分けて考えます。短縮名はサーバー単体の識別名、FQDN は DNS ドメインを含む完全な名前です。
| 項目 | 例 | 用途 |
| 短縮名 | ubuntu-1 | ログやプロンプト、監視上の表示名 |
| FQDN | ubuntu-1.example.com | DNS、証明書、サービス設定で使う名前 |
| hosts の自己解決 | 127.0.1.1 ubuntu-1.example.com ubuntu-1 | DNS に頼らず自分自身の名前を解決する補助 |
現在のホスト名を確認する
変更前に、現在のホスト名、FQDN、hostnamectl の状態を確認します。
hostname
hostname -f
hostnamectl status --no-pager
cat /etc/hostnameホスト名を変更する
hostnamectl set-hostname で静的ホスト名を設定します。ここでは短縮名を ubuntu-1 としています。
sudo hostnamectl set-hostname ubuntu-1
hostname
hostnamectl status --no-pager
cat /etc/hostname/etc/hosts をバックアップする
/etc/hosts は名前解決に関係するため、変更前にバックアップします。
sudo cp /etc/hosts /etc/hosts.bak.$(date +%Y%m%d%H%M%S)
ls -l /etc/hosts /etc/hosts.bak.* | tail/etc/hosts に自分自身の名前を追加する
DNS で FQDN を解決できない環境や、ローカルで自分自身の名前を安定して解決したい場合は、127.0.1.1 に FQDN と短縮名を書きます。
sudo tee /etc/hosts >/dev/null <<'EOF'
127.0.0.1 localhost
127.0.1.1 ubuntu-1.example.com ubuntu-1
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
EOF
cat /etc/hostsFQDN と短縮名を確認する
設定後は hostname、hostname -f、getent hosts を合わせて確認します。
hostname
hostname -f
getent hosts ubuntu-1
getent hosts ubuntu-1.example.comDNS との関係を確認する
名前解決の順序は /etc/nsswitch.conf の hosts: 行で確認できます。通常は hosts ファイルと DNS の両方が使われます。
grep '^hosts:' /etc/nsswitch.conf
getent ahosts ubuntu-1.example.com運用上の注意点
- ホスト名はサーバー構築の早い段階で決める
- 証明書や監視に使う名前と食い違わないようにする
- 複数台で共有する名前は DNS 側で管理する
- 一時的な検証名を
/etc/hostsに残したままにしない - Kubernetes やクラスタ製品の導入後は、ノード名変更の影響を確認してから変更する
戻す場合
ホスト名だけを戻す場合は hostnamectl を再実行します。/etc/hosts は取得済みバックアップから戻します。
sudo hostnamectl set-hostname old-hostname
sudo cp /etc/hosts.bak.20260707000000 /etc/hosts
hostnamectl status --no-pager
getent hosts old-hostnameまとめ
Ubuntu 22.04 のホスト名は hostnamectl で設定し、FQDN が必要な場合は /etc/hosts や DNS と合わせて確認します。短縮名、FQDN、名前解決の役割を分けておくと、ログ、監視、証明書、構成管理で名前がぶれにくくなります。
変更後は hostname、hostname -f、getent hosts を確認し、必要に応じて DNS や関連サービスの設定も見直します。

