리눅스 호스트명 변경 (예전 방법)

Jmnote (토론 | 기여)님의 2018년 12월 24일 (월) 16:38 판 (112.220.77.74(토론)의 편집을 Jmnote22의 마지막 판으로 되돌림)
  다른 뜻에 대해서는 리눅스 호스트명 변경 hostnamectl set-hostname 문서를 참조하십시오.
레드햇계열 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: hostnamectl ★★

  • 우분투 14, 우분투 16 등
root@localhost:~# hostnamectl set-hostname zetawiki
root@localhost:~# cat /etc/hostname 
zetawiki
root@localhost:~#

3 방법 2: setup으로 변경

  • 레드햇 계열 중 일부만 가능
  • setup으로 바꾸면 방법 1에서 말하는 영구적용과 즉시적용이 동시에 된다.[1]
setup
  • [Network configuration] --- [DNS configuration]
  • "DNS configuration" --- Hostname: 원하는호스트명 --- [Ok]
  • [Save&Quit]
  • [Quit]

4 방법 2: 수동 변경

4.1 즉시 변경

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

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

4.2 재부팅시 변경

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

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

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

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

5 방법 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]

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

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

vi /etc/hosts

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

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

7 같이 보기

8 주석

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

9 참고

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