강좌
클라우드/리눅스에 관한 강좌입니다.
네트워크 분류

리눅스시스템 HOSTNAME 변경하기

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스시스템 HOSTNAME 변경하기

 

 

 

 

이번에는 리눅스시스템의 호스트네임을 변경하는 방법에 대해서 알아보도록 하자. 미리 말하지만 변경하는 방법은 매우 간단하다.

 

 

 

 하지만 그 원리를 이해하는 것은 무엇보다 중요하므로 다음 설명을 잘 이해하기 바란다.

 

 

 

 리눅스시스템의 호스트네임을 변경하는 방법과 원리를 이해하려면 다음 몇가지를 알아야 한다.

 

 

 

 

 

/etc/sysconfig/network파일의 설정내용

 

 

hostname명령어의 사용방법과 의미

 

 

HOSTNAME이라는 쉘변수의 의미 및 변수값 확인 및 재설정 방법

 

 

 

 

 

1. /etc/sysconfig/network파일의 설정내용

 

 

 

 

가장 먼저 확인해야 할 것은 /etc/sysconfig/network파일의 내용확인과 재설정 방법이다.

 

 

 

 먼저 이 파일의 내용을 확인해 보자.

 

[root@sulinux ~]#cat /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=su250.com

GATEWAY=192.168.0.1

[root@sulinux ~]#

 

이 파일의 설정내용에 대한 설명은 다음과 같다.

 

 

 

 

 

NETWORKING=yes

 

 

 시스템이 네트워크를 활성화하여 사용하도록 하는 설정이다.

 

 

 

 

 

NETWORKING_IPV6=no

 

 

Ipv6기반의 통신을 지원하려고 할 때 yes, 현재는 no로 설정이다.

 

 

 

 

 

HOSTNAME=su250.com

 

 

이 시스템의 호스트네임을 설정이다.

 

 

 

 

 

GATEWAY=192.168.0.1

 

 

이 시스템의 Global한 기본 게이트웨이 설정이다.

 

 

 

 여기서 Global이라는 의미를 확실히 이해해야 하는데 /etc/sysconfig/network-scripts/ 디렉토리에 있는 ifcfg-eth0 또는 ifcfg-eth1등과 같은 각각의 이더넷 설정파일들에 별도로 지정되지 않은 기본게이트웨이는 여기 이 파일에서 설정한 기본게이트웨이로 자동(기본)으로 지정된다는 의미이다.

 

 

 

 

 

어쨌든 우리는 여기서 시스템의 호스트네임을 변경하고자 할 때에 /etc/sysconfig/network파일에 있는 HOSTNAME이라는 변수의 값을 바꾸면 된다.

 

 

 

 , 현재는 su250.com이라고 설정되어 있지만, 이를 su251.com으로 변경한다든지 아니면, FQDN형식으로 www.su250.com으로 변경하는 설정을 할 수 있다.

 

 

 

 여기에 설정하는 호스트네임의 입력형식은 FQDN형식이 올바른 것이다.

 

 

 

 필자는 여러대의 시스템을 사용하고 있으므로 호스트네임을 명령행에서 구분하기 위하여 su250.com과 같은 도메인만을 입력하기도 하지만 원래 올바른 지정형식은 www.su251.com과 같은 FQDN형식이라는 것을 잊지말자.

 

 

 

하지만, 이렇게 설정하고 나면 변경된 호스트네임이 바로 적용되는 것은 결코 아니다.

 

 

 

 /etc/sysconfig/network파일은 시스템이 부팅될 때에 매번 자동으로 읽혀지는 파일이기 때문에 이 파일의 설정값이 변경되더라도 바로 시스템에 적용되는 것이 아니라 이후에 재부팅이 되면 적용되는 것이다.

 

 

 

 또 한가지 알아두어야 할 것은 이 파일의 설정값을 바꾼 이후부터는 변경된 내용이 지속적으로 적용된다는 점이다.

 

 

 

 , 한번 변경하고 재부팅하고 나면 그 이후부터는 계속 변경된 값을 그대로 유지한다는 것이다.

 

 

 

 이것은 다음 설명하는 hostname명령어를 이용하는 방법과 차이점이므로 비교해 보기 바란다.

 

 

 

 

 

 

2. hostname명령어의 사용방법과 의미

 

이번에는 hostname이라는 명령어에 대해서 알아보아야 한다.

 

 

 

 먼저, hostname명령어를 사용한 다음 예를 보도록 하자.

 

[root@sulinux ~]#hostname

su250.com

[root@sulinux ~]#

 

위의 예와 같이 아무런 옵션없이 hostname이라는 명령어만을 실행하면 현재 설정된 이 시스템의 호스트네임을 출력해 준다.

 

 

 

 , hostname명령어는 현재 시스템의 호스트네임을 확인하고 재설정하는 명령어이다.

 

 

 

 

 

[root@sulinux ~]#hostname www.su250.com

[root@sulinux ~]#

[root@sulinux ~]#hostname

www.su250.com

[root@sulinux ~]#

 

위의 예는 현재 시스템의 호스트네임을 su250.com에서 www.su250.com으로 변경한 것이다.

 

 

 

 그런 다음 다시 한번 hostname을 실행하여 변경된 호스트네임값을 확인하였다.

 

 

 

 하지만 이렇게 hostname명령어로 호스트네임을 변경하였다면 재부팅 후에는 다시 변경전의 호스트네임값을 가지게 된다.

 

 

 

 , hostname명령어로 변경된 호스트네임값은 현재 메모리에 로딩되어 있는 커널(kernel)에게 인식되어 있는 호스트네임을 변경한 것으로서 시스템이 종료되면 이 값들은 모두 사라져 버리고, 다시 부팅이 되면 /etc/sysconfig/network파일에 있는 HOSTNAME설정값을 가져와서 호스트네임으로 설정하게 된다.

 

 

 

 따라서 지속적인 호스트네임명을 사용하려면 앞에서 설명했던 /etc/sysconfig/network파일의 HOSTNAME값을 바꾸어야 한다.

 

 

 

 

 

 

3. HOSTNAME이라는 쉘변수의 의미 및 변수값 확인 및 재설정 방법

 




이번에는 시스템에서 사용하는 HOSTNAME이라는 쉘변수에 대해서 알아보자. 리눅스 시스템에는 많은 쉘변수들이 별도로 존재한다.

 

 

 

 현재 시스템의 쉘변수 리스트와 그 값들을 확인하려면 env명령어를 실행해 보면 금방 알 수 있다.

 

 

 

 하지만 현재 우리는 모든 쉘변수들에 대해서 논하자는 것은 결코 아니며 그 쉘변수들 가운데 현재는 HOSTNAME이라는 쉘변수에만 관심이 있다는 것이다.

 

 

 

 , 다음 예를 보도록 하자.


 

 

[root@sulinux ~]#echo $HOSTNAME

www.su250.com

[root@sulinux ~]#

[root@sulinux ~]#env | grep HOSTNAME

HOSTNAME=www.su250.com

[root@sulinux ~]#

 




리눅스 시스템에서 특정 쉘변수값을 확인할 때에는 위의 예와 같이 echo명령어를 사용한다.

 

 

 

 그리고 확인하고자 하는 쉘변수명 앞에 반드시 $를 붙여야 한다.

 

 

 

 , “echo $쉘변수명과 같은 형식으로 특정 쉘변수값을 확인할 수 있다.

 

 

 

 그리고 쉘변수를 확인하는 또다른 방법으로는 env명령어와 grep명령어를 함께 사용하는 방법이 있다.

 

 

 

 env만을 실행하면 현재 사용하고 있는 모든 쉘변수와 그 값을 확인할 수 있지만, 그 모든 값들 가운데 HOSTNAME와 같은 특정 쉘변수값만을 확인할 때에는 위의 예와 같이 “env | grep 변수명과 같은 방법을 사용한다.

 

 

 

 

 

[root@sulinux ~]#export HOSTNAME="su250.com"

[root@sulinux ~]#

[root@sulinux ~]#echo $HOSTNAME

su250.com

[root@sulinux ~]#env | grep HOSTNAME

HOSTNAME=su250.com

[root@sulinux ~]#

 




위의 예는 export명령어를 이용하여 HOSTNAME이라는 쉘변수의 값을 재설정한 예이다.

 

 

 

 그런 다음 다시 echo명령어를 이용하여 변경된 HOSTNAME 쉘변수의 값을 다시 확인한 예이다.

 

 

 

 , 위의 예와 같이 export명령어를 이용하여 특정 쉘변수의 값을 변경하고자 할 때에는 “export HOSTNAME=“변수값””과 같은 형식으로 사용한다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,807 개
  • 현재 접속자 :  166 명