리눅스를 별도의 설정없이 설치하면 기본 호스트네임은 localhost.localdomain 이 됩니다.  각 리눅스 장비를 식별하기 위해 다음 방법으로 장비마다 호스트네임을 부여할 수 있습니다.


hostname 명령어 사용

hostname 은 예전부터 제공되는 명령어로 호스트네임을 설정하거나 가져올 수 있습니다. 파라미터없이 사용하면 현재 호스트네임을 표시합니다.

$ hostname

localhost
BASH


설정하려면 호스트네임을 파라미터로 전달하면 되며 다음은 호스트네임을 webserver1 으로 설정합니다.

$ sudo hostname webserver1
$ hostname 

webserver1
BASH

하지만 hostname 명령으로 설정하면 재부팅하면 사라지며 영구적으로 설정을 반영하려면 /etc/hostname 파일을 수정해야 합니다. 에디터로 직접 파일을 수정하는 것보다는 아래의 명령어를 사용하는 것을 권장합니다.


hostnamectl 사용

hostnamectl 은 시스템의 호스트네임을 관리할 수 있는 명령어로 옵션없이 사용하거나 status 옵션을 주면 현재 정보를 출력합니다.

$ hostnamectl 

   Static hostname: centos8
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 8ede8e7be0ba4c5a9795919868074a4b
           Boot ID: 1f96fbae595a417490d403dbcbb0ad3c
    Virtualization: vmware
  Operating System: CentOS Linux 8
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-240.el8.x86_64
      Architecture: x86-64
BASH


호스트네임을 설정하려면 set-hostname 명령어 뒤에 설정할 호스트네임을 지정하면 됩니다.

$  sudo hostnamectl set-hostname centos8
BASH


/etc/hostname 파일 내용을 출력해 보면 내용이 변경된 것을 확인할 수 있습니다.

$ cat /etc/hostname
centos8
CODE


nmcli 사용

Network Manager 를 관리하는 명령어인 nmcli 를 사용해도 호스트네임을 확인하거나 설정할 수 있습니다.  Network Manager 의 general 한 상태 및 동작을 설정하는 g[eneral] 명령에 hostname 옵션을 주고 실행하면 되며 다음은 현재 호스트네임을 출력합니다.

$ nmcli g hostname
localhost.localdomain
BASH

호스트네임을  설정하려면 hostname 옵션 뒤에 설정할 호스트네임을 지정하면 됩니다.

$ sudo nmcli g hostname centos8
BASH


같이 보기

Ref