hostnamectlコマンドでホスト名を変更する
ホスト名の変更
sysmemdが導入されているLinuxディストリビューションではhostnamectlコマンドでホスト名を変更できる。
$ sudo hostnamectl set-hostname 新しいホスト名
例えばfoo.example.comというホスト名にする場合は以下のようになる。
$ sudo hostnamectl set-hostname foo.example.com
/etc/hostnameファイルも更新される。
$ cat /etc/hostname
foo.example.com
現在のホスト名の確認
hostnamectl statusコマンドで現在のホスト名を確認できる。
(サブコマンドstatusは省略可)
$ hostnamectl status
Static hostname: foo.example.com
Icon name: computer-vm
Chassis: vm
Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Virtualization: amazon
Operating System: Ubuntu 22.04.2 LTS
Kernel: Linux 5.19.0-1028-aws
Architecture: x86-64
Hardware Vendor: Amazon EC2
Hardware Model: t3.large
Static hostnameにホスト名が表示される。
ホスト名だけを表示したい場合は--staticオプションを付ける。
$ hostnamectl status --static
foo.example.com
hostnameサブコマンドでもホスト名だけ取得できる。
$ hostnamectl hostname
foo.example.com
hostnameコマンドとの違い
従来通りhostnameコマンドでも変更できる。
$ sudo hostname 新しいホスト名
ただしこの方法では/etc/hostnameファイルが変更されないため、再起動するとホスト名が元に戻る。
hostnamectl set-hostnameコマンドでホスト名を変更する場合は/etc/hostnameファイルも修正される。
そのため再起動してもホスト名が元に戻らない。
hostnamectlが使えない場合
hostnamectlコマンドが使えない場合はhostnameコマンドで変更する。
$ sudo hostname 新しいホスト名
hostnameコマンドで更新したホスト名はOSを再起動すると元に戻ってしまうので、
恒久対応するために/etc/hostnameファイルも更新する。
$ sudo vi /etc/hostname
\第一線のプログラマーの行動原理を学べる!/
