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

【Linux】ホスト名を恒久的に変更する:nmcliコマンド

 ホスト名は、ネットワーク上でシステムを識別するための重要な情報です。Linuxシステムでは、ホスト名を恒久的に変更するために、nmcliコマンドを使用することができます。このコマンドは、NetworkManagerを操作するためのツールであり、ホスト名を恒久的に設定することで、再起動後もその設定が保持されます。

nmcliコマンドの概要

 nmcliコマンドは、NetworkManagerを操作するためのコマンドラインツールで、ホスト名の設定やネットワーク設定の管理ができます。ホスト名を恒久的に変更する際、nmcli general hostnameコマンドを使用します。このコマンドを使うと、/etc/hostnameファイルを書き換えるため、変更したホスト名がシステムの再起動後も維持されます。

 /etc/hostnameファイルには、Linuxが起動時に参照するホスト名が記載されています。ホスト名を恒久的に変更したい場合は、このファイルを直接編集するか、nmclihostnamectlコマンドを使用する必要があります。ホスト名を変更した後は、再起動を行うことが推奨されます。これは、ホスト名を使用するミドルウェアが新しいホスト名を正しく認識するためです。再起動しないと、ホスト名の不整合が発生し、サービスが停止するリスクがあるためです。

【構文】
nmcli general hostname [ホスト名]

コマンドの使用例と解説

 以下に、nmcliコマンドを使用してホスト名を恒久的に変更する手順を示し、それぞれに解説を付けます。

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

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

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

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

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

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

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

・「nmcli general hostname」コマンドを実行します。

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

root@ubuntu-vm:~# nmcli general hostname
ubuntu-vm
4.nmcli general hostnameコマンドを使ってホスト名を変更します。

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

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

root@ubuntu-vm:~# nmcli general 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」コマンドを実行します。

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

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

・「nmcli general hostname」コマンドを実行します。

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

user01@ubuntu-vm-test:~$ nmcli general hostname
ubuntu-vm-test

まとめ

 ホスト名を変更するコマンドには、hostnameコマンド、hostnamectlコマンド、nmcliコマンドがあります。それぞれのコマンドは異なる特徴を持ち、使用目的に応じて適切なコマンドを選ぶ必要があります。特に恒久的なホスト名変更には、/etc/hostnameファイルを書き換えるhostnamectlnmcliコマンドが有効です。各コマンドの使い方や、ホスト名を定義しているファイルについて理解を深めておくことが重要です。