호스트명(hostname)은 네트워크 상에서 컴퓨터나 시스템을 사람이 읽기 쉬운 형태로 식별할 수 있게 해주는 중요한 요소입니다. 리눅스에서는 hostname이라는 간단한 명령어만으로도 호스트명을 손쉽게 확인하고 변경할 수 있습니다.
현재 호스트명 확인하기
터미널에서 hostname 명령어를 옵션 없이 실행하면 현재 시스템의 호스트명이 출력됩니다.
$ hostname
TecMint
위 예제에서는 현재 호스트명이 'TecMint'로 설정되어 있는 것을 확인할 수 있습니다.
호스트명 임시 변경하기
호스트명을 변경하려면 아래와 같이 새로운 이름을 인자로 전달하여 명령어를 실행하면 됩니다.
$ hostname NEW_HOSTNAME
'NEW_HOSTNAME' 부분은 실제로 설정하고자 하는 호스트명으로 바꿔주면 됩니다. 이 방법은 즉시 효과가 나타나지만 한 가지 단점이 있습니다. 바로 시스템을 재부팅하면 원래의 호스트명으로 되돌아간다는 점입니다.
재부팅 후에도 유지되는 영구적인 변경을 원한다면 설정 파일을 수정해야 합니다. 사용하는 리눅스 배포판과 초기화 시스템(init system)에 따라 방법이 다르므로 아래 내용을 참고하세요.
영구적으로 호스트명 변경하기
1. systemd 기반 배포판 (hostnamectl 사용)
최신 Ubuntu, Debian, CentOS, Fedora, RHEL(Red Hat) 등 대부분의 최신 리눅스 배포판은 시스템 및 서비스 관리자인 systemd를 채택하고 있으며, 여기에는 호스트명을 관리할 수 있는 hostnamectl 명령어가 포함되어 있습니다.
systemd 기반 배포판에서 호스트명을 영구적으로 설정하려면 다음과 같이 입력합니다.
$ sudo hostnamectl set-hostname NEW_HOSTNAME
이 명령 하나로 재부팅 후에도 유지되는 호스트명 변경이 완료됩니다. 가장 간편하고 권장되는 방법입니다.
2. SysVinit 기반 구형 배포판
SysVinit(줄여서 init)을 사용하는 구형 리눅스 배포판에서는 호스트명 파일을 직접 편집해야 합니다.
먼저 vi 에디터로 /etc/hostname 파일을 열어 새 호스트명을 입력합니다.
# vi /etc/hostname
그다음 /etc/hosts 파일에도 호스트명에 대한 레코드를 추가해야 합니다.
# vi /etc/hosts
추가 예시는 다음과 같습니다.
127.0.0.1 TecMint
설정을 마쳤으면 호스트명 서비스를 재시작하여 변경 사항을 적용합니다.
# /etc/init.d/hostname restart
3. RHEL/CentOS 계열 (init 사용)
init을 사용하는 RHEL/CentOS 계열 시스템에서는 /etc/sysconfig/network 파일을 수정하여 호스트명을 변경합니다.
# vi /etc/sysconfig/network
파일의 일반적인 형태는 다음과 같습니다.
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME="tecmint.com"
GATEWAY="192.168.0.1"
GATEWAYDEV="eth0"
FORWARD_IPV4="yes"
호스트명을 영구적으로 변경하려면 위 파일에서 HOSTNAME 항목의 값을 원하는 호스트명으로 수정한 뒤 저장하면 됩니다.
마무리
지금까지 리눅스에서 호스트명을 확인하고, 임시로 변경하며, 배포판 유형에 따라 영구적으로 설정하는 방법까지 알아보았습니다. systemd 기반 최신 배포판이라면 hostnamectl 명령어 하나로 대부분 해결되니, 자신의 환경에 맞는 방법을 활용해 보시기 바랍니다.
저자 소개
이 글의 저자는 컴퓨터공학 학사 학위를 보유한 Linux Foundation 공인 시스템 관리자(LFCS)로, 현재 호스팅 업계에서 시니어 기술 지원으로 근무하고 있습니다. 여가 시간에는 새로운 소프트웨어를 테스트하고 인라인 스케이트를 즐깁니다.
TecMint의 모든 튜토리얼은 경험 많은 리눅스 시스템 관리자 팀이 작성하여 높은 품질 기준을 충족합니다.