このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

ホスト名を恒久的に変更する:hostnamectlコマンド

ホスト名を恒久的に変更する:hostnamectlコマンド

 ホスト名は、ネットワーク上でシステムを識別するための重要な要素です。Linuxシステムでは、ホスト名を恒久的に変更する際にhostnamectlコマンドが使用されます。このコマンドを使うことで、ホスト名を恒久的に変更し、再起動後もその設定が維持されるようになります。

hostnamectlコマンドの概要

 hostnamectlコマンドは、Linuxシステムでホスト名を恒久的に変更するためのツールです。このコマンドを使用すると、/etc/hostnameファイルを書き換えるため、ホスト名を設定できます。ホスト名を一時的に変更するhostnameコマンドとは異なり、hostnamectlコマンドを使用した変更は再起動後も維持されます。

 /etc/hostnameファイルには、システムが起動するときに使用されるホスト名が記載されています。したがって、ホスト名を恒久的に変更したい場合は、このファイルを直接編集するか、hostnamectlnmcliコマンドを使用することが必要です。

 hostnamectlコマンドでホスト名を変更する際には、set-hostnameサブコマンドを指定します。サブコマンドを指定せずにhostnamectlコマンドを実行すると、現在のホスト名と関連情報が表示されます。

※hostnamectlコマンドでは、ホスト名に大文字が含まれていても、小文字に変換されてホスト名が設定されるため注意してください。

 ホスト名を変更した後は、システムの再起動が推奨されます。これは、ホスト名を使用するミドルウェアやサービスがホスト名の変更に伴って不整合を起こさないようにするためです。再起動することで、ミドルウェアやサービスが新しいホスト名を正しく認識し、安定した動作を保証されます。

【構文】
hostnamectl set-hostname [ホスト名]

コマンドの使用例と解説

以下に、hostnamectlコマンドを使用してホスト名を恒久的に変更する手順を示します。

1.rootユーザーに切り替えます。

・「su -」コマンドを実行します。

 ホスト名を変更するためには、rootユーザーの権限が必要です。このコマンドでrootユーザーに切り替えます。

user01@ubuntu-vm:~$ su -
パスワード: 
root@ubuntu-vm:~# 
2./etc/hostnameファイルに記載されているホスト名を確認します。

・「cat /etc/hostname」コマンドを実行します。

 現在のホスト名が/etc/hostnameファイルにどのように記載されているかを確認します。このファイルには、システムが起動する際に使用されるホスト名が記録されています。

root@ubuntu-vm:~# cat /etc/hostname
ubuntu-vm
3.hostnamectlコマンドを使用してホスト名を確認します。

・「hostnamectl」コマンドを実行します。

 現在のホスト名と関連情報を表示します。これにより、現在のホスト名が「ubuntu-vm」であることが確認できます。

root@ubuntu-vm:~# hostnamectl
 Static hostname: ubuntu-vm
       Icon name: computer-vm
         Chassis: vm
      Machine ID: a78e669a97cb4d1ebd74b822939491df
         Boot ID: 765762fb93ef47c9882249c8233ea8f0
  Virtualization: oracle
Operating System: Ubuntu 22.04.4 LTS              
          Kernel: Linux 6.8.0-40-generic
    Architecture: x86-64
 Hardware Vendor: innotek GmbH
  Hardware Model: VirtualBox
4.hostnamectl set-hostnameコマンドを使ってホスト名を変更します。

・「hostnamectl set-hostname ubuntu-vm-test」コマンドを実行します。

 このコマンドで、ホスト名を「ubuntu-vm-test」に恒久的に変更します。この変更は即座に有効になります。

root@ubuntu-vm:~# hostnamectl set-hostname ubuntu-vm-test
5./etc/hostnameファイルに記載されているホスト名を確認します。

・「cat /etc/hostname」コマンドを実行します。

 /etc/hostnameファイルのホスト名が「ubuntu-vm-test」に変更されていることが確認できます。

root@ubuntu-vm:~# cat /etc/hostname
ubuntu-vm-test
6.Linuxを再起動します。

・「shutdown -r now」コマンドを実行します。

 システムを再起動します。この再起動により、hostnamectlコマンドで変更したホスト名が維持され、システムが正しく動作することを確認します。

root@ubuntu-vm:~# shutdown -r now
7.再起動後、hostnamectlコマンドを使用してホスト名を確認します、

・「hostnamctl」コマンドを実行します。

 再起動後にhostnamectlコマンドを使用してホスト名を確認します。ホスト名が「ubuntu-vm-test」のままであることを確認でき、変更が恒久的であることがわかります。

user01@ubuntu-vm-test:~$ hostnamectl
 Static hostname: ubuntu-vm-test
       Icon name: computer-vm
         Chassis: vm
      Machine ID: a78e669a97cb4d1ebd74b822939491df
         Boot ID: 243e06f994d34c029e4e3c79aef6de21
  Virtualization: oracle
Operating System: Ubuntu 22.04.4 LTS              
          Kernel: Linux 6.8.0-40-generic
    Architecture: x86-64
 Hardware Vendor: innotek GmbH
  Hardware Model: VirtualBox

まとめ

 hostnamectlコマンドは、Linuxシステムでホスト名を恒久的に変更するための便利なツールです。ホスト名を変更することで、ネットワーク上でシステムを適切に識別することができます。また、変更後は再起動を行うことで、ミドルウェアやサービスが新しいホスト名を認識し、システム全体の安定性を保つことが可能です。