호스트 이름은 장치에 할당되고 네트워크에서 장치를 식별하는 데 사용되는 사람이 읽을 수 있는 레이블입니다. 호스트 이름은 운영 체제를 설치하는 동안 설정되거나 가상 시스템이 생성될 때 동적으로 할당됩니다.
네트워크의 모든 시스템은 고유한 호스트 이름을 가져야 합니다. 동일한 네트워크에 동일한 호스트 이름을 가진 두 개 이상의 시스템이 있으면 문제가 발생할 수 있습니다.
루트 또는 sudo 권한을 가진 사용자만 시스템 호스트 이름을 변경할 수 있습니다. Ubuntu에서는 GUI 또는 hostnameectl 명령을 사용하여 시스템 호스트 이름 및 관련 설정을 편집할 수 있습니다.
이 문서에서는 명령줄이나 GUI를 사용하여 시스템을 재시작할 필요 없이 Ubuntu 22.04에서 호스트 이름을 설정하거나 변경하는 방법을 설명합니다.
현재 호스트 이름 표시
현재 호스트 이름을 보려면 인수 없이 hostnameectl 명령을 호출합니다:
hostnamectl
이 예에서는 현재 호스트 이름이 ubuntu2004.localdomain으로 설정되어 있습니다.
hostnamectl을 사용하여 시스템 호스트 이름 변경
이 hostnameectl 명령은 호스트 이름의 세 가지 클래스를 인식합니다:
static - 기존 호스트 이름. /etc/hostname 파일에 저장되며 사용자가 설정할 수 있습니다.
pretty - 사용자에게 프레젠테이션하기 위해 사용되는 자유 형식의 UTF8 호스트 이름. 예를 들어 Linuxize의 노트북.
transient - 커널에 의해 유지되는 동적 호스트 이름입니다. DHCP 또는 mDNS 서버는 런타임에 과도 호스트 이름을 변경할 수 있습니다. 기본적으로 정적 호스트 이름과 동일합니다.
일반적으로 정적 이름과 일시적 이름 모두에 host.example.com 과 같은 정규화된 도메인 이름(FQDN)을 사용하는 것이 좋습니다.
시스템 호스트 이름을 변경하는 것은 간단한 과정입니다. hostnameectl 명령의 구문은 다음과 같습니다:
sudo hostnamectl set-hostname host.example.com
sudo hostnamectl set-hostname "Your Pretty HostName" --pretty
sudo hostnamectl set-hostname host.example.com --static
sudo hostnamectl set-hostname host.example.com --transient
예를 들어 시스템 정적 호스트 이름을 jjeongil.tistory.com/ 으로 변경하려면 다음 명령을 사용합니다:
sudo hostnamectl set-hostname jjeongil.tistory.com/
선택적으로 예쁜 호스트 이름을 설정할 수도 있습니다:
sudo hostnamectl set-hostname "JJEONGIL's laptop" --pretty
hostnameectl이 출력을 생성하지 않습니다. 성공하면 0이 반환되고, 그렇지 않으면 0이 아닌 실패 코드입니다.
정적 호스트 이름은 /etc/hostname에 저장되고 예쁜 호스트 이름은 /etc/machine-info 파일에 저장됩니다.
호스트 이름이 변경되었는지 확인하려면 hostnameectl 명령을 입력합니다:
sudo hostnamectl
# Static hostname: jjeongil.tistory.com
# Pretty hostname: JJEONGIL's desktop
# Icon name: computer-vm
# Chassis: vm
# Machine ID: a04e3543f3da460294926b7c41e87a0d
# Boot ID: aa31b274703440dfb622ef2bd84c52cb
# Virtualization: oracle
# Operating System: Ubuntu 22.04 LTS
# Kernel: Linux 5.4.0-26-generic
# Architecture: x86-64
GUI에서 호스트 이름 변경
Ubuntu Desktop을 실행 중인 경우 GNOME 설정을 사용하여 시스템 호스트 이름을 변경할 수 있습니다.
오른쪽 상단에 있는 시스템 메뉴를 열고 아래와 같이 "설정"을 클릭합니다:
Settings(설정) 창에서 About(정보) 탭으로 이동하여 Device name(디바이스 이름)을 클릭합니다. 새 대화창에 새 시스템 호스트 이름을 입력하고 Rename(이름 바꾸기) 버튼을 누릅니다.
이렇게 하면 정적인 이름과 예쁜 이름이 모두 변경됩니다.
/etc/hosts 파일
시스템 호스트 이름에 공용 DNS 이름이 없는 경우 호스트 이름을 로컬 IP 주소에 매핑해야 합니다.
/etc/hosts 파일은 IP 주소를 호스트 이름에 매핑하는 데 사용됩니다. 이 매핑은 인스턴스에서 실행되는 네트워크 응용 프로그램에서 사용됩니다.
파일을 열고 이전 호스트 이름을 새 호스트 이름으로 변경합니다:
# /etc/hosts
127.0.0.1 localhost
127.0.0.1 jjeongil.tistory.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
우분투 클라우드 서버
클라우드 인스턴스에서 우분투를 실행하고 클라우드 초기화 패키지를 설치하면 시스템 재시작 후 변경된 호스트 이름이 복원됩니다. 이 패키지는 일반적으로 클라우드 제공자가 제공하는 이미지에 기본적으로 설치되며 클라우드 인스턴스의 초기화를 처리하는 데 사용됩니다.
변경 내용을 영구적으로 변경하려면 /etc/cloud/cloud.cfg 파일을 편집합니다.
sudo vim /etc/cloud/cloud.cfg
preserve_hostname을 검색하고 값을 false에서 true로 변경합니다:
# /etc/cloud/cloud.cfg
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
파일을 저장하고 편집기를 닫습니다.
파일이 시스템에 없으면 클라우드 초기 패키지가 설치되어 있지 않으므로 더 이상 변경할 필요가 없습니다.
결론
Ubuntu 22.04 설치에서 기계를 다시 시작하지 않고 호스트 이름을 쉽게 변경하는 방법을 보여드렸습니다.
호스트 이름을 변경해야 하는 이유는 여러 가지가 있습니다. 가장 일반적인 것은 인스턴스 생성 시 호스트 이름이 자동으로 설정되는 경우입니다.
'SW > 리눅스' 카테고리의 다른 글
VMware 관리자들을 위한 Hyper-V 백업 가이드: 주요 차이점 및 백업 방법론 (0) | 2024.10.12 |
---|---|
Linux : Apache : HTTP를 HTTPS로 리디렉션 방법, 예제, 명령어 (0) | 2024.01.25 |
Linux : $PATH : 디렉토리 추가 방법, 예제, 명령어 (0) | 2024.01.24 |
Linux : Ubuntu 22.04 : 스왑 공간을 추가 방법, 예제, 명령어 (0) | 2024.01.23 |
Linux : Ubuntu 22.04 : MySQL 설치 방법, 예제, 명령어 (0) | 2024.01.22 |