Linuxのホスト名をファイルで永続変更する方法|/etc/sysconfig/networkとhostsの設定手順

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ネットワーク > Linuxのホスト名をファイルで永続変更する方法|/etc/sysconfig/networkとhostsの設定手順
サーバーのホスト名を変更するには、コマンドで一時的に変更する方法と、設定ファイルを編集して永続的に変更する方法の2種類があります。

運用環境では再起動後も設定を維持するため、ファイルを直接編集して永続的に変更する方法が一般的です。この記事では、ファイル編集によるホスト名の永続変更手順を解説します。

【この記事でわかること】
・/etc/sysconfig/networkのHOSTNAMEを編集してホスト名を永続的に変更できる
・/etc/hostsも合わせて編集しないと名前解決が正しく動作しない
・ファイル変更はシステム再起動後に反映される(ネットワーク再起動では不十分)
・CentOS 7以降はhostnamectlコマンドで即時変更も可能

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

ホスト名の変更に必要な2つのファイル

CentOS 6系では、ホスト名をファイルで変更するために以下の2つのファイルを必ず両方編集する必要があります。

/etc/sysconfig/network:起動時のホスト名設定
/etc/hosts:ローカルな名前解決の設定

どちらか一方だけ変更すると、名前解決が正しく動作しないことがあるため注意してください。

変更手順

1. /etc/sysconfig/networkを編集する

[root@Tiger ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=NewHostName ← ここを変更したいホスト名に書き換える GATEWAY=192.168.0.1

HOSTNAME= の値を変更したいホスト名に書き換えて保存します(:wq)。

2. /etc/hostsを編集する

[root@Tiger ~]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 127.0.0.1 NewHostName ← 新しいホスト名に書き換える

127.0.0.1 の行に新しいホスト名を追記または変更します。

3. システムを再起動して設定を反映する

ホスト名の設定は /etc/rc.sysinit スクリプトで実行されるため、システムの再起動が必要です。ネットワークの再起動では反映されません。

[root@Tiger ~]# reboot

再起動後、hostname コマンドで変更が反映されていることを確認します。

[root@NewHostName ~]# hostname NewHostName

CentOS 7以降の場合(hostnamectlを使う方法)

CentOS 7 / RHEL 7以降では、hostnamectl コマンドを使うと再起動不要で即時変更できます。

# 現在のホスト名を確認する [root@server ~]# hostnamectl status # ホスト名を変更する(再起動不要) [root@server ~]# hostnamectl set-hostname NewHostName # /etc/hostsも合わせて編集する [root@server ~]# vi /etc/hosts

hostnamectl は内部で /etc/hostname ファイルを編集します。/etc/hosts の更新は引き続き手動で行う必要があります。

トラブルシュート

hostnameコマンドで変更しても再起動後に元に戻る場合

hostname 新ホスト名 コマンドは一時的な変更のみで、/etc/sysconfig/network を編集しないと再起動後に元に戻ります。必ずファイル編集と合わせて行ってください。

本記事のまとめ

・CentOS 6系:/etc/sysconfig/network/etc/hosts の両方を編集 → 再起動で反映
・CentOS 7以降:hostnamectl set-hostname 新ホスト名 で即時変更(/etc/hosts は手動更新)
・ネットワーク再起動だけでは反映されない(システム再起動が必要)
/etc/hosts を更新しないと名前解決がおかしくなることがある

Linuxのネットワーク設定を体系的に学びたい方へ

ホスト名の変更はLinuxサーバー構築の基本操作の一つです。ネットワーク設定全般を体系的に身につけると、現場での作業が格段にスムーズになります。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

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

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

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

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

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

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

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