[Linux][systemd]ホスト名を設定・変更する

ホスト名を恒久的に変更する場合、/etc/hostnameを直接修正しても良いですが、systemd採用のディストリビューションの場合hostnamectlを使って変更した方がいいかもしれません。

ホスト名を変更する

ホスト名をsunday.localに設定する場合、以下のようにします

$ sudo hostnamectl set-hostname sunday.local

/etc/hostnameも変更されています

$ cat /etc/hostname 
sunday.local

再ログインすればターミナルのプロンプトも変更が反映されます

hostnamectlコマンドについて

hostnamectlコマンドはホスト名の変更だけではなくカーネルやOSなどの情報も確認できます

ヘルプ

$ hostnamectl -h
hostnamectl [OPTIONS...] COMMAND ...

Query or change system hostname.

  -h --help              Show this help
     --version           Show package version
     --no-ask-password   Do not prompt for password
  -H --host=[USER@]HOST  Operate on remote host
  -M --machine=CONTAINER Operate on local container
     --transient         Only set transient hostname
     --static            Only set static hostname
     --pretty            Only set pretty hostname

Commands:
  status                 Show current hostname settings
  set-hostname NAME      Set system hostname
  set-icon-name NAME     Set icon name for host
  set-chassis NAME       Set chassis type for host
  set-deployment NAME    Set deployment environment for host
  set-location NAME      Set location for host

引数なしで実行

$ hostnamectl
   Static hostname: sunday.local
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 87b3ea8a9a6e4a57a54575629f8fca78
           Boot ID: c787c24ecbb14667a593f9adb314535c
    Virtualization: vmware
  Operating System: AlmaLinux 8.5 (Arctic Sphynx)
       CPE OS Name: cpe:/o:almalinux:almalinux:8::baseos
            Kernel: Linux 4.18.0-305.7.1.el8_4.x86_64
      Architecture: x86-64