본문 바로가기
Linux

linux hostname / 리눅스 호스트네임 (초안)

by ahsung 2023. 3. 27.

 

 

linux의 호스트네임은 static, transient, pretty 세가지 종류가 있습니다.

 

 

transient hostname

이중 linux kernel에서 인식하는 hostname이 transient 호스트네임으로 리눅스 커널의 파라미터로 메모리상에 존재합니다.

파라미터는 아래와 같이 확인 가능

# 커널 파라미터 조회
$ sysctl kernel.hostname

# 커널 파일시스템을 통해서, 커널 파리미터 조회
$ cat /proc/sys/kernel/hostname

 

위 커널 파라미터를 직접 수정해서 transient 호스트네임을 변경할 수 있습니다.

흔히 hostname 변경을 위해 사용하는 명령어들도 transient hostname 변경을 위해서 내부적으로 위 커널 파리미터를 변경합니다.

(hostname, hostnamectl)

 

 

 

static hostname

서버가 재부팅될때 정해지는 hostname으로 보통의 linux 배포판은 /etc/hostname에 저장되어있습니다.

물론 해당 파일을 변경한다고 해서, 커널 파라미터의 hostname이 변경되지는 않습니다.

하지만 서버가 재부팅할 경우 대부분의 linux OS들은 /etc/hostname 파일 내용으로 커널 파라미터의 hostname을 셋팅합니다.

 

그렇기 때문에 static hostname을 찾는 경우, /etc/hostname 파일의 내용을 load하여 확인 할 수 있습니다.

 

systemd-hostname

 

systemd-hostnamed.service(8) - Linux manual page

systemd-hostnamed.service(8) — Linux manual page SYSTEMD-HOSTNAMED.SERVICE(8)emd-hostnamed.serviceMD-HOSTNAMED.SERVICE(8) NAME         top systemd-hostnamed.service, systemd-hostnamed - Daemon to control system hostname from programs SYNOPSIS    

man7.org

systemd 기반으로 hostname을 관리하는 데몬입니다.

hostnamectl 명령어는 대표적으로 systemd-hostname에 포함되는 하위 실행파일입니다.

/etc/hostname이나 커널파리미터를 수동으로 변경한 경우, hostnamectl status에 정보가 즉각 반영되지 않을 수 있습니다.

이런 경우, systemctl restart systemd-hostname 혹은 일정 시간을 기다리면 자동으로 systemd-hostname 데몬이 /etc/hostname과 kernel.hostname을 동기화합니다.

 

댓글