"리눅스 호스트명 변경 (예전 방법)"의 두 판 사이의 차이

111번째 줄: 111번째 줄:
==참고 자료==
==참고 자료==
*http://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=283
*http://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=283
*http://askubuntu.com/questions/87665/how-do-i-change-the-hostname-without-a-restart


[[분류:리눅스]]
[[분류:리눅스]]

2014년 4월 2일 (수) 23:25 판

HOSTNAME 변경
리눅스 호스트명 변경
호스트 이름 변경

1 사전확인

현재 호스트명을 확인해보자.

[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# cat /etc/sysconfig/network | grep HOSTNAME
HOSTNAME=localhost.localdomain

2 방법 1: 명령어로 변경

2.1 즉시 변경

다음 중 두가지 명령어 중 하나를 실행하면 된다.

hostname 호스트명
echo 호스트명 > /proc/sys/kernel/hostname
  • 새로 로그인할 때는 이것이 적용된다.
  • 재부팅시에는 초기화될 것이다.[1]
실행 예시
[root@localhost ~]# hostname jmnote
[root@localhost ~]# hostname
jmnote 
[root@localhost ~]# su -
[root@jmnote ~]#

2.2 재부팅시 변경

레드햇 계열
vi /etc/sysconfig/network

파일 내용 중 HOSTNAME 부분을 수정한다.

HOSTNAME=호스트명
우분투
vi /etc/hostname

파일 내용 전체가 호스트명이다. 원하는 호스트명으로 수정하자.

3 방법 2: setup으로 변경

setup으로 바꾸면 방법 1에서 말하는 영구적용과 즉시적용이 동시에 된다.[2]

setup
  • [Network configuration] --- [DNS configuration]
  • "DNS configuration" --- Hostname: 원하는호스트명 --- [Ok]
  • [Save&Quit]
  • [Quit]

4 후속작업: /etc/hosts 변경

/etc/hosts는 IP에 대한 호스트명 정보가 있는데, 자기 자신을 가리키는 정보도 들어가 있다. 호스트명을 변경했다면 이쪽도 수정해주는 것이 좋다.[3]

vi /etc/hosts

아래 내용을 참고하여 작성한다.

127.0.0.1	localhost	jmnote
::1	localhost	jmnote
→ 1행은 IPv4, 2행은 IPv6에 대한 것임

5 한방 스크립트

  • 재부팅 없이 적용 및 확인을 한번에 할 수 있음
  • 레드햇 계열, 우분투 모두 사용가능
NEW_HOSTNAME=새호스트명
OLD_HOSTNAME=$HOSTNAME
HOSTNAME=$NEW_HOSTNAME
echo $HOSTNAME > /proc/sys/kernel/hostname
sed -i "s/$OLD_HOSTNAME/$HOSTNAME/" /etc/hostname 2> /dev/null
sed -i "s/HOSTNAME=$OLD_HOSTNAME/HOSTNAME=$HOSTNAME/" /etc/sysconfig/network 2> /dev/null
echo "\$HOSTNAME=$HOSTNAME"
grep -Hn '' /proc/sys/kernel/hostname
grep -Hn '' /etc/hostname 2> /dev/null
grep -Hn '' /etc/sysconfig/network 2> /dev/null
diff hostn
→ 프롬프트에 찍히는 호스트명까지 변경되는 것을 확인하려면 새 콘솔(또는 SSH 세션)을 열어야 한다.
/etc/hosts 파일 변경은, 다른 서버의 주소까지 변경될 수 있기 때문에 여기에 포함하지 않았다. 직접 수정해주자.[3]

6 같이 보기

7 주석

  1. /etc/sysconfig/network 에 설정된 호스트명이 적용되기 때문. 다음 문단 참조.
  2. GUI(?)에서 수행되기 때문에 자동화 bash 스크립트를 만드는 것이 어렵다. 때문에 필자는 방법 1을 선호한다.
  3. 3.0 3.1 Oracle DB의 경우 적절히 변경해주지 않으면 오류가 발생할 수 있다.

8 참고 자료

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}