hostnameコマンドでホスト名を確認・変更する方法|hostnamectlの永続設定も


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドA-E, システム管理コマンド > hostnameコマンドでホスト名を確認・変更する方法|hostnamectlの永続設定も
「サーバーのホスト名を確認したいけど、どのコマンドを使えばいいかわからない」
「hostnameコマンドで変更したのに、再起動したら元に戻ってしまった」

ホスト名はネットワーク上でサーバーを識別するための名前です。
この記事では、hostnameコマンドの基本から、hostnamectlによる永続的な変更、FQDN(完全修飾ドメイン名)の確認まで、実務で必要な操作を網羅します。

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を無料で手に入れる 図解60P/登録10秒/解除も3秒

ホスト名とは?

ホスト名(hostname)とは、ネットワーク上でサーバーやPCを識別するために付ける名前です。

Windowsでいう「コンピューター名」に相当します。サーバー運用では、どのサーバーにログインしているかをプロンプトやログで判別するために不可欠な設定です。

ホスト名には以下の種類があります。

短縮ホスト名:ドメインを含まない名前(例:web01)
FQDN:ドメインを含む完全な名前(例:web01.linuxmaster.jp)

ホスト名を確認する方法

1. hostnameコマンドで確認する(基本)

引数なしで実行すると、現在のホスト名を表示します。

$ hostname web01.linuxmaster.jp

2. 短縮ホスト名を表示する(-s)

ドメイン部分を除いた短いホスト名だけを表示します。

$ hostname -s web01

3. FQDNを表示する(-f)

ドメインを含む完全修飾ドメイン名(FQDN)を表示します。

$ hostname -f web01.linuxmaster.jp

4. ドメイン名だけ表示する(-d)

$ hostname -d linuxmaster.jp

5. IPアドレスを表示する(-i / -I)

ホスト名に対応するIPアドレスを表示します。

# ホスト名を解決したIPアドレス $ hostname -i 192.168.1.10 # すべてのネットワークインターフェースのIPアドレス $ hostname -I 192.168.1.10 10.0.0.5

-i は名前解決結果、-I(大文字)はインターフェースに割り当てられたすべてのIPを表示します。

hostnamectlコマンドで確認・変更する(RHEL7以降)

RHEL7/CentOS7以降のsystemd環境では、hostnamectlコマンドが推奨されます。ホスト名の確認と永続的な変更がこの1つのコマンドで完結します。

1. 現在のホスト名を詳細表示する

$ hostnamectl Static hostname: web01.linuxmaster.jp Icon name: computer-vm Chassis: vm Machine ID: a1b2c3d4e5f6... Boot ID: f6e5d4c3b2a1... Virtualization: kvm Operating System: Red Hat Enterprise Linux 9.3 CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos Kernel: Linux 5.14.0-362.el9.x86_64 Architecture: x86-64

2. ホスト名を永続的に変更する

# ホスト名を変更(再起動後も維持される) sudo hostnamectl set-hostname db01.linuxmaster.jp # 確認 hostnamectl Static hostname: db01.linuxmaster.jp

このコマンドは /etc/hostname ファイルを自動的に更新し、即座に反映されます。再起動は不要です。

3. 3種類のホスト名について

systemd環境では、ホスト名に3つの種類があります。

Static hostname:/etc/hostnameに保存される永続的なホスト名。最も重要
Transient hostname:一時的なホスト名。再起動するとStaticに戻る
Pretty hostname:表示用のホスト名。日本語やスペースを含められる(UTF-8対応)

# Staticホスト名だけを変更 sudo hostnamectl set-hostname web01.linuxmaster.jp --static # Pretty hostname を設定(表示用) sudo hostnamectl set-hostname "本番Webサーバー01号機" --pretty

通常はset-hostnameだけでStaticとTransientの両方が変更されます。

hostnameコマンドで一時的に変更する

hostnameコマンドでも変更できますが、再起動すると元に戻ります。

# root権限で一時的にホスト名を変更 sudo hostname temp-server # 確認(変更されている) hostname temp-server # ただし再起動すると/etc/hostnameの値に戻る

永続的に変更したい場合は、必ずhostnamectl set-hostnameを使ってください。

応用・実務Tips

1. /etc/hostsも合わせて更新する

ホスト名を変更したら、/etc/hostsの該当行も更新しないと名前解決でトラブルが起きることがあります。

# /etc/hostsを確認・更新 cat /etc/hosts 127.0.0.1 localhost 192.168.1.10 web01.linuxmaster.jp web01 # ホスト名変更後は対応する行を修正する sudo vi /etc/hosts

2. サーバーのホスト名命名ルール

実務では、サーバーの役割がホスト名からわかるようにするのが一般的です。

役割+番号:web01、db01、mail01
拠点+役割:tk-web01(東京)、os-db01(大阪)
環境+役割:prd-web01(本番)、stg-web01(ステージング)

ハイフン(-)やドット(.)は使えますが、アンダースコア(_)はRFC上非推奨です。また、英小文字と数字のみを使うのが無難です。

3. シェルスクリプトでホスト名を取得する

# スクリプト内でホスト名を取得する方法 MYHOST=$(hostname -s) echo "このサーバーは ${MYHOST} です" # ログファイル名にホスト名を含める LOGFILE="/var/log/backup_$(hostname -s)_$(date +%Y%m%d).log"

トラブルシュート・エラー対処

「再起動するとホスト名が元に戻る」場合の対処法

hostnameコマンドで変更しただけでは永続化されません。以下を確認してください。

# /etc/hostnameの内容を確認 cat /etc/hostname web01.linuxmaster.jp # hostnamectlで永続的に変更する sudo hostnamectl set-hostname web01.linuxmaster.jp

「hostname -f」でFQDNが表示されない場合

/etc/hostsにFQDNの設定がないと、hostname -f がエラーになったり短縮名しか返さないことがあります。

$ hostname -f hostname: Name or service not known # /etc/hostsにFQDNを追加する sudo sh -c 'echo "192.168.1.10 web01.linuxmaster.jp web01" >> /etc/hosts' # 再度確認 $ hostname -f web01.linuxmaster.jp

本記事のまとめ

やりたいこと コマンド
ホスト名を確認する hostname
短縮ホスト名を表示する hostname -s
FQDNを表示する hostname -f
IPアドレスを表示する hostname -I
ホスト名の詳細情報を確認する hostnamectl
ホスト名を永続的に変更する sudo hostnamectl set-hostname 新ホスト名
ホスト名を一時的に変更する sudo hostname 新ホスト名


暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

※登録30秒/合わなければ解除3秒


宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが最近の悩み。ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る