Categories: linux

Linuxのホスト名を確認・変更する方法|hostnameコマンドを徹底解説

Linuxのシステム管理やサーバー運用をしていると、「ホスト名(hostname)」という言葉をよく耳にします。ホスト名はネットワーク上でその端末を識別するための名前であり、SSH接続時やログの確認時に非常に重要です。
本記事では、ホスト名を確認・変更するための基本的なコマンド「hostname」について、初心者でもわかりやすいように解説します。使用例や注意点も含めて丁寧に紹介しますので、Linuxの基礎を身につけたい方はぜひ参考にしてください。


hostnameコマンドとは?

Linuxにおけるhostnameコマンドは、現在のホスト名を表示または変更するために使用される基本的なコマンドです。

ホスト名は、ネットワーク上で端末を一意に識別するための名前で、DNS名やメールサーバー設定などにも関係します。通常、システムの起動時に設定され、自動的に認識されます。

$ hostname
my-linux-machine

上記のように、何もオプションをつけずに実行すると、現在のホスト名が表示されます。


ホスト名の役割と重要性

ホスト名には次のような役割があります。

  • ネットワーク上での識別
    複数の端末が接続される環境では、それぞれのホスト名で機器を識別します。
  • ログの記録に使用
    システムログやアクセスログにホスト名が記録されるため、トラブルシューティングや運用監視の際に重要です。
  • SSHやリモート接続時の認識
    サーバーにSSH接続する際、ホスト名で判別することが多いため、わかりやすいホスト名が望まれます。

hostnameコマンドの基本的な使い方

現在のホスト名を確認する

最も基本的な使い方は、現在のホスト名を表示することです。

$ hostname

これだけで現在のホスト名が表示されます。

一時的にホスト名を変更する

hostnameコマンドに新しいホスト名を指定することで、一時的にホスト名を変更できます。

$ sudo hostname new-hostname

ただし、この方法では再起動すると元に戻ります。恒久的に変更したい場合は別の設定が必要です。


恒久的にホスト名を変更する方法

Linuxディストリビューションによって、恒久的なホスト名の設定方法が異なります。以下は主なディストリビューション別の方法です。

Ubuntu / Debian系

UbuntuなどのDebian系では、/etc/hostname/etc/hostsファイルを編集する必要があります。

  1. /etc/hostnameを編集:
$ sudo nano /etc/hostname

ファイル内のホスト名を新しい名前に書き換えます。

  1. /etc/hostsを編集:
$ sudo nano /etc/hosts

127.0.1.1に対応する旧ホスト名を新しいホスト名に変更します。

  1. システムを再起動:
$ sudo reboot

RHEL / CentOS / Rocky Linux系

Red Hat系のディストリビューションではhostnamectlコマンドが使えます。

$ sudo hostnamectl set-hostname new-hostname

この方法で設定したホスト名は、再起動しても保持されます。


hostnamectlとの違いと使い分け

hostnamectlは、systemdが導入されているディストリビューション(CentOS 7以降、Ubuntu 16.04以降など)で使用できる、ホスト名管理のためのコマンドです。

$ hostnamectl

このコマンドを使うことで、以下のような情報が表示されます:

  • Static hostname(現在のホスト名)
  • Pretty hostname(表示用に整形された名前)
  • Kernel hostname(OSレベルでのホスト名)

変更例

$ sudo hostnamectl set-hostname my-new-host

また、GUI環境で設定するよりも正確かつ安定して変更されるので、サーバー運用ではhostnamectlの使用が推奨されます。


ホスト名を変更した後にすべきこと

ホスト名を変更した後は、以下の確認を行うと安心です。

  • hostnameコマンドで新しい名前が反映されているか確認
  • /etc/hostsファイル内の記述が古いホスト名のままになっていないか確認
  • ネットワーク設定ファイルで古いホスト名を参照していないか確認(例:メールサーバーなど)

また、サーバー管理している場合、NagiosやZabbixなどの監視ソフトに登録しているホスト名も更新する必要があります。


よくあるエラーと対処法

sudo: hostname: command not found

hostnameコマンドが存在しない場合は、パスが通っていないか、パッケージがインストールされていない可能性があります。

$ sudo apt install net-tools      # Ubuntu系
$ sudo yum install hostname # CentOS系

ホスト名変更後にSSH接続で警告が出る

ホスト名を変更したサーバーにSSHで接続すると、「REMOTE HOST IDENTIFICATION HAS CHANGED」などの警告が出ることがあります。

これは、SSHが以前のホスト名と公開鍵の組み合わせを覚えているためです。以下のコマンドで古い情報を削除できます。

$ ssh-keygen -R <hostname or IP>

まとめ:hostnameコマンドでシステム管理の第一歩を

hostnameコマンドはシンプルながら、Linuxシステム管理において欠かせない存在です。サーバー運用をしていると、ログや監視、接続設定などでホスト名が頻繁に関わってきます。

  • ホスト名の確認は hostname
  • 一時的な変更は sudo hostname
  • 恒久的な変更は /etc/hostnameの編集やhostnamectl

こうした基礎を押さえることで、より安定したサーバー運用が可能になります。初めての方もぜひ、試しにご自身のLinuxマシンでhostnameを使ってみてください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。