리눅스 호스트명 변경 (예전 방법) 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
1번째 줄: 1번째 줄:
{{다른뜻|리눅스 호스트명 변경 hostnamectl set-hostname}}
{{테스트|CentOS}}
{{테스트|CentOS 6, Ubuntu 12}}
;HOSTNAME 변경
;레드햇계열 HOSTNAME 변경
;리눅스 호스트명 변경
;리눅스 호스트명 변경
;호스트 이름 변경
;호스트 이름 변경
7번째 줄: 6번째 줄:
==사전확인==
==사전확인==
현재 호스트명을 확인해보자.
현재 호스트명을 확인해보자.
<syntaxhighlight lang='console'>
<source lang='dos'>
[root@localhost ~]# hostname
[root@localhost ~]# hostname
localhost.localdomain
localhost.localdomain
</syntaxhighlight>
</source>
;레드햇 계열
<source lang='dos'>
<syntaxhighlight lang='console'>
[root@localhost ~]# cat /etc/sysconfig/network | grep HOSTNAME
[root@localhost ~]# cat /etc/sysconfig/network | grep HOSTNAME
HOSTNAME=localhost.localdomain
HOSTNAME=localhost.localdomain
</syntaxhighlight>
</source>
;Ubuntu
<syntaxhighlight lang='console'>
root@localhost:~# cat /etc/hostname
localhost
</syntaxhighlight>
 
==방법 1: hostnamectl ★★==
{{참고|hostnamectl}}
* 우분투 14, 우분투 16 등
<syntaxhighlight lang='console'>
root@localhost:~# hostnamectl set-hostname zetawiki
root@localhost:~# cat /etc/hostname
zetawiki
root@localhost:~#
</syntaxhighlight>
 
==방법 2: [[setup]]으로 변경==
* [[레드햇 계열]] 중 일부만 가능
* setup으로 바꾸면 방법 1에서 말하는 영구적용과 즉시적용이 동시에 된다.<ref>GUI(?)에서 수행되기 때문에 자동화 bash 스크립트를 만드는 것이 어렵다. 때문에 필자는 방법 1을 선호한다.</ref>
<syntaxhighlight lang='bash'>
setup
</syntaxhighlight>
*[Network configuration] --- [DNS configuration]
*"DNS configuration" --- Hostname: 원하는호스트명 --- [Ok]
*[Save&Quit]
*[Quit]


==방법 2: 수동 변경==
==방법 1: 명령어로 변경==
===즉시 변경===
===즉시 변경===
다음 중 두가지 명령어 중 하나를 실행하면 된다.
다음 중 두가지 명령어 중 하나를 실행하면 된다.
<syntaxhighlight lang='bash'>
<source lang='bash'>
hostname 호스트명
hostname 호스트명
</syntaxhighlight>
</source>
<syntaxhighlight lang='bash'>
<source lang='bash'>
echo 호스트명 > /proc/sys/kernel/hostname
echo 호스트명 > /proc/sys/kernel/hostname
</syntaxhighlight>
</source>
*새로 로그인할 때는 이것이 적용된다.
*새로 로그인할 때는 이것이 적용된다.
*재부팅시에는 초기화될 것이다.<ref>[[/etc/sysconfig/network]] 에 설정된 호스트명이 적용되기 때문. 다음 문단 참조.</ref>
*재부팅시에는 초기화될 것이다.<ref>[[/etc/sysconfig/network]] 에 설정된 호스트명이 적용되기 때문. 다음 문단 참조.</ref>


;실행 예시
;실행 예시
<syntaxhighlight lang='console'>
<source lang='dos'>
[root@localhost ~]# hostname zetawiki
[root@localhost ~]# hostname jmnote
[root@localhost ~]# hostname
[root@localhost ~]# hostname
zetawiki
jmnote
[root@localhost ~]# su -
[root@localhost ~]# su -
[root@zetawiki ~]#
[root@jmnote ~]#
</syntaxhighlight>
</source>


===재부팅시 변경===
===재부팅시 변경===
;레드햇 계열
;레드햇 계열
{{참고|/etc/sysconfig/network}}
{{참고|/etc/sysconfig/network}}
<syntaxhighlight lang='bash'>
<source lang='bash'>
vi /etc/sysconfig/network
vi /etc/sysconfig/network
</syntaxhighlight>
</source>
파일 내용 중 HOSTNAME 부분을 수정한다.
파일 내용 중 HOSTNAME 부분을 수정한다.
<syntaxhighlight lang='text'>
<source lang='text'>
HOSTNAME=호스트명
HOSTNAME=호스트명
</syntaxhighlight>
</source>


;우분투
;우분투
{{참고|/etc/hostname}}
{{참고|/etc/hostname}}
<syntaxhighlight lang='bash'>
<source lang='bash'>
vi /etc/hostname
vi /etc/hostname
</syntaxhighlight>
</source>
파일 내용 전체가 호스트명이다. 원하는 호스트명으로 수정하자.
파일 내용 전체가 호스트명이다. 원하는 호스트명으로 수정하자.


==방법 4: 한방 스크립트 ==
==방법 2: [[setup]]으로 변경==
* 방법 3을 스크립트로 만든 것
setup으로 바꾸면 방법 1에서 말하는 영구적용과 즉시적용이 동시에 된다.<ref>GUI(?)에서 수행되기 때문에 자동화 bash 스크립트를 만드는 것이 어렵다. 때문에 필자는 방법 1을 선호한다.</ref>
* 레드햇 계열, 우분투 모두 사용가능
<source lang='bash'>
<syntaxhighlight lang='bash'>
setup
</source>
*[Network configuration] --- [DNS configuration]
*"DNS configuration" --- Hostname: 원하는호스트명 --- [Ok]
*[Save&Quit]
*[Quit]
 
==후속작업: /etc/hosts 변경==
{{참고|/etc/hosts}}
/etc/hosts는 IP에 대한 호스트명 정보가 있는데, 자기 자신을 가리키는 정보도 들어가 있다. 호스트명을 변경했다면 이쪽도 수정해주는 것이 좋다.
<source lang='bash'>
vi /etc/hosts
</source>
아래 내용을 참고하여 작성한다.
<source lang='text'>
127.0.0.1 localhost jmnote
::1 localhost jmnote
</source>
:→ 1행은 IPv4, 2행은 IPv6에 대한 것임
 
==한방 스크립트==
*적용 및 확인을 한번에 할 수 있음
*레드햇 계열, 우분투 모두 사용가능
<source lang='bash'>
NEW_HOSTNAME=새호스트명
NEW_HOSTNAME=새호스트명
OLD_HOSTNAME=$HOSTNAME
OLD_HOSTNAME=$HOSTNAME
HOSTNAME=$NEW_HOSTNAME
HOSTNAME=$NEW_HOSTNAME
hostname $HOSTNAME
echo $HOSTNAME > /proc/sys/kernel/hostname
sed -i "s/$OLD_HOSTNAME/$HOSTNAME/" /etc/hostname 2> /dev/null
sed -i "s/$OLD_HOSTNAME/$HOSTNAME/" /etc/hosts
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
sed -i "s/HOSTNAME=$OLD_HOSTNAME/HOSTNAME=$HOSTNAME/" /etc/sysconfig/network 2> /dev/null
echo "\$HOSTNAME=$HOSTNAME"
echo "\$HOSTNAME=$HOSTNAME"
grep -Hn '' /proc/sys/kernel/hostname
grep -Hn '' /proc/sys/kernel/hostname
grep -Hn '' /etc/hosts
grep -Hn '' /etc/hostname 2> /dev/null
grep -Hn '' /etc/hostname 2> /dev/null
grep -Hn '' /etc/sysconfig/network 2> /dev/null
grep -Hn '' /etc/sysconfig/network 2> /dev/null
</syntaxhighlight>
</source>
:→ 프롬프트에 찍히는 호스트명까지 변경되는 것을 확인하려면 새 콘솔(또는 SSH 세션)을 열어야 한다.
:→ 프롬프트에 찍히는 호스트명까지 변경되는 것을 확인하려면 새 콘솔(또는 SSH 세션)을 열어야 한다.
:→ [[/etc/hosts]] 파일 변경은, 다른 서버의 주소까지 변경될 수 있기 때문에 여기에 포함하지 않았다. 직접 수정해주자.<ref name='oracle_db' />
==(권장) 후속작업: /etc/hosts 변경 ★==
{{참고|/etc/hosts}}
/etc/hosts는 IP에 대한 호스트명 정보가 있는데, 자기 자신을 가리키는 정보도 들어가 있다. 호스트명을 변경했다면 이쪽도 수정해주는 것이 좋다.<ref name='oracle_db'>Oracle DB의 경우 적절히 변경해주지 않으면 오류가 발생할 수 있다. [[ORA-24408]] 참고</ref>
<syntaxhighlight lang='bash'>
vi /etc/hosts
</syntaxhighlight>
아래 내용을 참고하여 작성한다.
<syntaxhighlight lang='text'>
127.0.0.1 localhost zetawiki
::1 localhost zetawiki
</syntaxhighlight>
:→ 1행은 IPv4, 2행은 IPv6에 대한 것임
*(필요시) 점검항목: sendmail 테스트, 오라클DB 접속 테스트


==같이 보기==
==같이 보기==
*[[리눅스 호스트명 변경 hostnamectl set-hostname]]
*[[리눅스 hostnamectl]]
*[[우분투 호스트명 변경]]
*[[hostname]]
*[[hostname]]
*[[/etc/sysconfig/network]]
*[[/etc/sysconfig/network]]
*[[/etc/hostname]]
*[[/etc/hosts]] (ORA-24408과 관련)
*[[/etc/hosts]]
*[[ORA-24408]]
*[[호스트명 확인]]
*[[호스트명 확인]]
*[[setup]]
*[[setup]]
130번째 줄: 106번째 줄:
*[[로컬호스트]]
*[[로컬호스트]]


==참고==
==주석==
<references/>
 
==참고 자료==
*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


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

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: