Debian 12(Bookworm)や Debian 13(Trixie)をインストールした直後、あるいはサーバーとして運用を始めた後に 「ホスト名を分かりやすい名前に変更したい」と思うことはよくあります。
ホスト名は単なる表示名ではなく、sudo 実行時の警告、ログ管理、ネットワーク内部での識別などにも影響する重要な設定です。 本記事では、Debian 12 / 13 環境でホスト名を恒久的かつ安全に変更する方法を解説します。
hostnamectl を使うのが最も安全な理由
Debian 12 以降では systemd が標準採用されており、ホスト名管理も systemd の管理下にあります。 そのため、ホスト名の変更には hostnamectl コマンドを使用するのが最も簡単で確実です。
hostnamectl を使うことで、以下を一度に正しく更新できます。
- 現在稼働中のホスト名
/etc/hostnameファイル- systemd が管理する内部設定
手動でファイルを書き換えるよりも設定漏れが起きにくいため、基本的にはこの方法が推奨されます。
手順① hostnamectl でホスト名を変更する
まずは root 権限で以下のコマンドを実行します。
sudo hostnamectl set-hostname 新しいホスト名
例:
sudo hostnamectl set-hostname my-debian-server
この操作だけでホスト名は恒久的に変更され、再起動後も設定は保持されます。
手順② /etc/hosts を修正する(重要)
ホスト名を変更した後、sudo 実行時に次のような警告が出ることがあります。
sudo: unable to resolve host xxx
これは /etc/hosts に古いホスト名が残っていることが原因です。 以下のファイルを編集します。
sudo nano /etc/hosts
編集例:
127.0.0.1 localhost
127.0.1.1 新しいホスト名
127.0.1.1 の横に記述されているホスト名を、 先ほど設定した新しいホスト名に必ず一致させてください。
手順③ 設定が反映されたか確認する
設定が正しく反映されたかどうかは、以下のコマンドで確認できます。
hostnamectl status
一度ログアウトして再ログインするか、新しいシェルを開くと、 プロンプトに表示されるホスト名も変更されているはずです。
補足:手動でホスト名を設定する場合
hostnamectl を使わず、手動で設定することも可能です。 その場合は以下の2ファイルを編集します。
/etc/hostname:ホスト名のみを1行で記述/etc/hosts:IPアドレスとホスト名の対応を記述
ただし、systemd 環境では hostnamectl を使う方が安全で確実です。
ホスト名設定時の注意点
- 英小文字・数字・ハイフン(-)のみを使用するのが一般的
- 大文字や記号はトラブルの原因になりやすい
- DHCP 環境ではホスト名が上書きされる場合がある
VPS やクラウド環境では、ネットワーク側の設定も併せて確認しておくと安心です。
まとめ
Debian 12 / 13 でホスト名を恒久的に変更する場合は、 以下の手順を押さえておけば問題ありません。
hostnamectl set-hostnameで変更/etc/hostsを忘れず修正hostnamectl statusで確認
サーバー管理や複数台運用を行う場合、ホスト名の整理は非常に重要です。 運用開始前にしっかり設定しておきましょう。
コメント