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
\第一線のプログラマーの行動原理を学べる!/