SW/리눅스

Linux : Ubuntu 22.04 : 호스트 이름 변경 방법, 예제, 명령어

얇은생각 2024. 1. 26. 21:30
반응형

호스트 이름은 장치에 할당되고 네트워크에서 장치를 식별하는 데 사용되는 사람이 읽을 수 있는 레이블입니다. 호스트 이름은 운영 체제를 설치하는 동안 설정되거나 가상 시스템이 생성될 때 동적으로 할당됩니다.

네트워크의 모든 시스템은 고유한 호스트 이름을 가져야 합니다. 동일한 네트워크에 동일한 호스트 이름을 가진 두 개 이상의 시스템이 있으면 문제가 발생할 수 있습니다.

루트 또는 sudo 권한을 가진 사용자만 시스템 호스트 이름을 변경할 수 있습니다. Ubuntu에서는 GUI 또는 hostnameectl 명령을 사용하여 시스템 호스트 이름 및 관련 설정을 편집할 수 있습니다.

이 문서에서는 명령줄이나 GUI를 사용하여 시스템을 재시작할 필요 없이 Ubuntu 22.04에서 호스트 이름을 설정하거나 변경하는 방법을 설명합니다.

 

 

Linux : 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 설치에서 기계를 다시 시작하지 않고 호스트 이름을 쉽게 변경하는 방법을 보여드렸습니다.

호스트 이름을 변경해야 하는 이유는 여러 가지가 있습니다. 가장 일반적인 것은 인스턴스 생성 시 호스트 이름이 자동으로 설정되는 경우입니다.

반응형