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

f:id:linlinrh:20171031165034p:plain

書き換えたあと、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を選択して

 f:id:linlinrh:20171031171701p:plain

hostnameのダイヤログで入力します。

f:id:linlinrh:20171031171804p:plain

丁寧に確認画面も表示。

f:id:linlinrh:20171031171944p:plain

Main MenuでQuitして完了です。

OSキャッシュもファイルも更新されていましたが、nmcliベースなのでバージョン次第では、hostnamedの再起動が必要か?というところです。


[root@host1 ~]# hostname
host1bynmtui.example.com
[root@host1 ~]# cat /etc/hostname
host1bynmtui.example.com
[root@host1 ~]#

 

 

いろいろと選択肢はありますが、お好きなものをSelectしていただければと思います。