Rocky Linux / 호스트네임 변경하는 방법
Rocky Linux에서 호스트네임을 바꾸려면 sudo hostnamectl set-hostname 새이름을 실행하면 됩니다. 예를 들어 서버 이름을 web01.example.com으로 바꾼 뒤 hostnamectl로 확인할 수 있습니다. 호스트네임 변경과 DNS·/etc/hosts의 이름 해석 설정은 별개이므로, 새 이름으로 접속해야 한다면 주소 매핑도 확인해야 합니다.
현재 호스트네임 확인하기
변경 전에 현재 이름을 확인하고 기록해 두면 기존 설정이나 서비스에서 이전 이름을 찾을 때 도움이 됩니다.
hostnamectl hostname cat /etc/hostname
hostnamectl은 정적(static)·임시(transient) 호스트네임과 시스템 정보를 보여 줍니다. /etc/hostname에는 재부팅 후에도 유지되는 정적 호스트네임이 저장됩니다. Rocky Linux 문서는 이 파일을 직접 편집하기보다 hostnamectl을 사용하도록 안내합니다. Rocky Linux 관리 가이드의 호스트네임 설명을 참고할 수 있습니다.
hostnamectl로 호스트네임 변경하기
아래 명령의 web01.example.com은 예시입니다. 실제 환경에서 사용할 이름으로 바꿔 입력하세요. 관리자 권한이 필요합니다.
sudo hostnamectl set-hostname web01.example.com
set-hostname에 유형 옵션을 지정하지 않으면 정적 호스트네임 등을 함께 설정합니다. 정적 호스트네임만 지정하려면 --static을 사용할 수 있지만, 일반적인 이름 변경은 위 명령으로 충분합니다. 정적·임시·표시용(pretty) 호스트네임의 차이는 Red Hat의 hostnamectl 설명에 정리되어 있습니다.
짧은 이름인 web01도 사용할 수 있습니다. 다만 서버를 도메인 이름으로 식별·운영한다면 web01.example.com처럼 호스트 이름과 도메인을 포함한 완전한 도메인 이름(FQDN, Fully Qualified Domain Name)을 사용할 수 있습니다. 어떤 형식을 쓰든 기존 서버와 이름이 겹치지 않게 정하고, 관련 서비스가 기대하는 이름도 확인하세요.
변경 결과 확인하기
명령이 끝나면 현재 이름과 저장된 이름을 각각 확인합니다.
hostnamectl hostname cat /etc/hostname
정적 호스트네임만 간단히 보려면 다음 명령을 사용합니다.
hostnamectl --static
변경 직후 hostnamectl과 hostname에 새 이름이 보여도, 이미 열려 있던 셸의 프롬프트에는 이전 이름이 남아 있을 수 있습니다. 이때는 새 로그인 세션을 열어 확인하세요. 실행 중인 서비스 중 시작할 때만 호스트네임을 읽는 서비스는 해당 서비스를 재시작해야 새 이름을 반영할 수 있습니다. 재부팅은 모든 관련 서비스에 새 이름을 반영하는 방법이지만, 명령 결과를 확인하기 위해 무조건 먼저 재부팅할 필요는 없습니다. 운영 서버에서는 서비스 영향과 점검 시간을 고려하세요.
새 이름으로 접속되지 않을 때 확인할 것
호스트네임을 바꾸는 것만으로 DNS 레코드나 /etc/hosts의 주소 매핑이 자동으로 새 이름에 맞춰지는 것은 아닙니다. 새 이름으로 서버에 접속하거나 프로그램이 새 이름을 조회해야 한다면 이름 해석 결과를 확인하세요.
getent hosts web01.example.com
결과가 없거나 주소가 잘못됐다면, 실제 운영 환경에서 사용하는 DNS 레코드 또는 /etc/hosts의 해당 항목을 수정해야 합니다. /etc/hosts에 이전 이름과 IP 주소의 매핑이 있다면 필요한 경우 새 이름으로 바꾸되, localhost 항목은 임의로 제거하지 마세요. example.com은 설명용 예시 도메인이므로 그대로 운영 설정에 사용하지 않습니다.
자주 발생하는 문제
권한 오류로 변경되지 않는 경우
hostnamectl set-hostname은 시스템 설정을 바꾸므로 관리자 권한이 필요합니다. 일반 사용자로 실행했다면 sudo를 붙여 다시 실행하고, 해당 계정에 관리자 권한이 있는지 확인하세요.
재부팅 뒤 이전 이름으로 돌아오는 경우
먼저 hostnamectl --static과 cat /etc/hostname으로 정적 호스트네임이 저장되었는지 확인하세요. 저장된 값과 실제 값이 계속 달라진다면 클라우드 초기화 도구, 자동 구성 도구 또는 네트워크 설정이 이름을 다시 지정하는지 해당 환경의 설정을 점검해야 합니다. 원인을 확인하기 전에는 파일을 반복해서 직접 수정하지 않는 편이 좋습니다.
자주 묻는 질문
호스트네임을 바꾼 뒤 반드시 재부팅해야 하나요?
hostnamectl로 변경한 이름은 바로 확인할 수 있습니다. 다만 기존 로그인 세션의 프롬프트나 시작 시 이름을 읽은 서비스에는 이전 값이 남을 수 있어 재로그인 또는 해당 서비스 재시작이 필요할 수 있습니다. 전체 환경에 반영하려면 점검 시간에 재부팅하는 방법도 있습니다.
/etc/hostname과 /etc/hosts를 둘 다 수정해야 하나요?
보통 /etc/hostname은 직접 수정하지 않고 hostnamectl로 변경합니다. /etc/hosts는 이름과 IP 주소를 연결하는 파일이므로, 기존 이름의 매핑이 있거나 로컬 이름 해석이 필요할 때만 실제 네트워크 설정에 맞게 수정합니다.









