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

잔글 (봇: 자동으로 텍스트 교체 (-<source lang='cli'> +<source lang='console'>))
105번째 줄: 105번째 줄:


==같이 보기==
==같이 보기==
*[[리눅스 hostnamectl]]
*[[우분투 호스트명 변경]]
*[[우분투 호스트명 변경]]
*[[hostname]]
*[[hostname]]

2016년 7월 10일 (일) 16:38 판

레드햇계열 HOSTNAME 변경
리눅스 호스트명 변경
호스트 이름 변경

1 사전확인

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

[root@localhost ~]# hostname
localhost.localdomain
레드햇 계열
[root@localhost ~]# cat /etc/sysconfig/network | grep HOSTNAME
HOSTNAME=localhost.localdomain
Ubuntu
root@localhost:~# cat /etc/hostname
localhost

2 방법 1: 명령어로 변경

2.1 즉시 변경

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

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

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 방법 3: 한방 스크립트 ★★

  • 재부팅 없이 적용 및 확인을 한번에 할 수 있음
  • 레드햇 계열, 우분투 모두 사용가능 ★★
NEW_HOSTNAME=새호스트명
OLD_HOSTNAME=$HOSTNAME
HOSTNAME=$NEW_HOSTNAME
hostname $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
→ 프롬프트에 찍히는 호스트명까지 변경되는 것을 확인하려면 새 콘솔(또는 SSH 세션)을 열어야 한다.
/etc/hosts 파일 변경은, 다른 서버의 주소까지 변경될 수 있기 때문에 여기에 포함하지 않았다. 직접 수정해주자.[3]

5 (권장) 후속작업: /etc/hosts 변경

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

vi /etc/hosts

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

127.0.0.1	localhost	zetawiki
::1	localhost	zetawiki
→ 1행은 IPv4, 2행은 IPv6에 대한 것임
  • (필요시) 점검항목: sendmail 테스트, 오라클DB 접속 테스트

6 같이 보기

7 주석

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

8 참고 자료

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