Linux / 명령어 / hostnamectl - 호스트 이름과 시스템 정보 확인·변경
hostnamectl은 systemd 기반 시스템의 호스트 이름과 운영체제·커널·아키텍처 정보를 보여 줍니다. set-hostname으로 호스트 이름을 바꿀 수도 있습니다.
hostnamectl 명령어란?
정적 호스트 이름은 관리자가 설정한 영구 이름이고, 일시적 이름은 실행 중인 시스템에 적용되는 이름입니다. 기본 상태 출력에서 둘을 구분해 보세요. 변경은 다른 시스템의 DNS 레코드나 /etc/hosts 항목을 자동으로 모두 수정하지 않습니다.
기본 문법
hostnamectl [명령] [인수]
설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man hostnamectl으로 현재 시스템의 설명을 확인하세요.
사용 예제
현재 이름과 시스템 정보
이름, 배포판, 커널 등 현재 보이는 항목을 먼저 확인합니다.
hostnamectl status
정적 이름만 확인
스크립트나 점검에 필요한 영구 호스트 이름을 간단히 출력합니다.
hostnamectl --static
호스트 이름 변경
관리 대상이 맞는지 확인한 뒤 이름을 지정합니다. 변경 작업이므로 권한이 필요합니다.
sudo hostnamectl set-hostname web01.example.test
현재 호스트네임과 변경 범위 확인하기
hostnamectl은 systemd 환경에서 정적 호스트네임과 운영체제·커널 등의 정보를 보여줍니다. 이름만 확인하려면 다음처럼 조회합니다.
hostnamectl --static
예시 출력:
web01.example.test
sudo hostnamectl set-hostname 새이름은 성공해도 보통 출력을 내지 않습니다. 다시 hostnamectl --static을 실행해 확인하세요. 호스트네임 변경이 DNS 레코드나 /etc/hosts를 자동으로 맞춰 주는 것은 아니므로, 서비스가 이름 해석에 의존한다면 해당 설정도 따로 점검해야 합니다.
주요 옵션과 형식
| 옵션·형식 | 설명 |
|---|---|
status |
현재 호스트 이름과 시스템 정보를 표시합니다. |
--static |
정적 호스트 이름을 대상으로 합니다. |
--transient |
일시적 호스트 이름을 대상으로 합니다. |
set-hostname 이름 |
호스트 이름을 설정합니다. |
--pretty |
사람이 읽기 쉬운 표시 이름을 대상으로 합니다. |
사용할 때 주의할 점
실제 서버의 이름을 바꾸기 전 DNS, 인증서, 모니터링, 애플리케이션 설정과 /etc/hosts의 의존 관계를 점검하세요. 변경 뒤 hostnamectl status와 필요한 이름 조회를 확인하고, 되돌릴 때는 이전 이름으로 다시 set-hostname을 실행합니다. systemd가 없는 환경에서는 사용할 수 없습니다.
자주 묻는 질문
hostnamectl로 이름을 바꾸면 DNS도 바뀌나요?
아니요. 로컬 시스템의 호스트 이름 변경과 DNS 레코드 변경은 별도 작업입니다.
공식 문서
옵션의 정확한 동작과 구현별 차이는 hostnamectl 관련 공식 문서에서 확인할 수 있습니다.









