hostname変更のあれこれ
一般的にホスト名を変更するときは、/etc/hostnameを編集しますが、
nmtuiとかnmcliでも変更できたりします。。
まずは、現状のhostnameを確認するコマンドのご紹介から。。
[root@host1 ~]# cat /etc/hostname
host1.example.com
※このファイルの値はhostnamedのサービスが読み込んで初めてOSに適用されるので、必ずしもOSで使われているとは言えないですが。。
[root@host1 ~]# hostname
host1.example.com
[root@host1 ~]#
[root@host1 ~]# hostnamectl |grep hostname
Static hostname: host1.example.com
[root@host1 ~]#
[root@host1 ~]# uname -n
host1.example.com
[root@host1 ~]#
[root@host1 ~]# nmcli gen hostname
host1.example.com
[root@host1 ~]#
続いて、hostnameの変更方法です。
## /etc/hostnameファイルを書き換えるパターン
[root@host1 ~]# vi /etc/hostname
書き換えたあと、catで見ると変更されていますが
[root@host1 ~]# cat /etc/hostname
host1updatedFile.example.com
OSのキャッシュ上はまだ反映されないので、
[root@host1 ~]# hostname
host1.example.com
hostnamedのサービスを再起動する必要があります。
[root@host1 ~]# systemctl restart systemd-hostnamed
[root@host1 ~]#
[root@host1 ~]# hostname
host1updatedFile.example.com
## hostnameコマンドでの変更
hostnameコマンドを使用するとOSのキャッシュ上は変更されますが。。。
[root@host1 ~]# hostname host1byHostname.example.com
[root@host1 ~]# hostname
host1byHostname.example.com
[root@host1 ~]#
/etc/hostnameの内容は更新されないため、rebootすると元の名前に戻ってしまいます。
[root@host1 ~]# cat /etc/hostname
host1updatedFile.example.com
[root@host1 ~]#
## hostnamectlでの変更
こちらは、OSのキャッシュもファイルも両方変更されます。^^
[root@host1 ~]# hostnamectl set-hostname host1byHstnctl.example.com
[root@host1 ~]#
[root@host1 ~]# hostname
host1byhstnctl.example.com
[root@host1 ~]# cat /etc/hostname
host1byhstnctl.example.com
[root@host1 ~]#
## nmcliでの変更
nmcliでのhostnameの変更もOSキャッシュ、ファイルともに変更されます。
[root@host1 ~]# nmcli gen hostname host1bynmcli.example.com
[root@host1 ~]#
[root@host1 ~]# hostname
host1bynmcli.example.com
[root@host1 ~]# cat /etc/hostname
host1bynmcli.example.com
[root@host1 ~]#
ただ、今回はRHEL7.3を使用していますが、リファレンスを見るところによるとRHEL7でもVersion次第ではhostnamedの再起動が必要かもしれません。
3.4. nmcli を使ったホスト名の設定 - Red Hat Customer Portal
## nmtuiでの変更
ラスト、nmtuiです。
[root@host1 ~]# nmtui
Set system hostnameを選択して
hostnameのダイヤログで入力します。
丁寧に確認画面も表示。
Main MenuでQuitして完了です。
OSキャッシュもファイルも更新されていましたが、nmcliベースなのでバージョン次第では、hostnamedの再起動が必要か?というところです。
[root@host1 ~]# hostname
host1bynmtui.example.com
[root@host1 ~]# cat /etc/hostname
host1bynmtui.example.com
[root@host1 ~]#
いろいろと選択肢はありますが、お好きなものをSelectしていただければと思います。