このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
ホスト名を恒久的に変更する:hostnamectlコマンド
ホスト名を恒久的に変更する:hostnamectlコマンド
ホスト名は、ネットワーク上でシステムを識別するための重要な要素です。Linuxシステムでは、ホスト名を恒久的に変更する際にhostnamectl
コマンドが使用されます。このコマンドを使うことで、ホスト名を恒久的に変更し、再起動後もその設定が維持されるようになります。
hostnamectlコマンドの概要
hostnamectl
コマンドは、Linuxシステムでホスト名を恒久的に変更するためのツールです。このコマンドを使用すると、/etc/hostname
ファイルを書き換えるため、ホスト名を設定できます。ホスト名を一時的に変更するhostname
コマンドとは異なり、hostnamectl
コマンドを使用した変更は再起動後も維持されます。
/etc/hostname
ファイルには、システムが起動するときに使用されるホスト名が記載されています。したがって、ホスト名を恒久的に変更したい場合は、このファイルを直接編集するか、hostnamectl
やnmcli
コマンドを使用することが必要です。
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システムでホスト名を恒久的に変更するための便利なツールです。ホスト名を変更することで、ネットワーク上でシステムを適切に識別することができます。また、変更後は再起動を行うことで、ミドルウェアやサービスが新しいホスト名を認識し、システム全体の安定性を保つことが可能です。