▶ 뭉충닷컴
 
mungchung.com login
Site Search
My Space
주절주절...
공부방
쥔장소개
Board
자유게시판
유용한 정보
자료실
Programming
강좌 & Articles
Spring 3.0
프로그래밍 Tip
   -ASP
   -PHP
   -JavaScript
   -HTML
   -Java/JSP
   -Database
   -Crystal Report
   -Visual Basic
   -이클립스
   -리눅스
   -기타
Windows API (VB)
Spread Sheet 7.0
컴퓨터활용 Tip
Other things
StarCraft 전략
StarCraft 문서
김용(金庸)
Son Q & Dieda

리눅스에서 서비스 설정하기.

리눅스 조회 수 9374 추천 수 0 2010.12.14 16:17:07

출처 : http://blog.naver.com/frogx/130004944216

 

 

1. 런레벨 이해하기
리눅스의 machine state는 총 7개로 이루어져있다. 이는 리눅스의 시스템 가동 상태에 따라 달라지는데

이를 런레벨이라고 한다. 우리가 서비스를 등록할때 어떤 런레벨에서 서비스를 자동 실행할 것인지를

결정하게 되기 때문에 간단히 런레벨에 대해 알아보도록 하겠다.

런레벨의 정의는 /etc/inittab에 주석으로 설명이 잘되어 있다.

# vi /etc/inittab

....
# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this) 종료모드
#   1 - Single user mode 단일 사용자 모드
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking) 다중 사용자 텍스트 모드
#   하지만 NFS를 쓰지 않는다.
#   3 - Full multiuser mode 다중 사용자 텍스트 모드
#   4 - unused 사용하지 않는다.
#   5 - X11 다중사용자 X windows 모드
#   6 - reboot (Do NOT set initdefault to this) 재가동 모드
#
id:5:initdefault:

맨아래 설정은 부팅시 리눅스 시스템의 가동 방식을 정한다. 5번은 윈도우 부팅시 X windows 시스템에

서 로그인하도록 하는 방식이다. 일반 텍스트 모드는 3번을 지정하면 된다.

4번은 쓰지 않는 것이라기 보다는 사용자가 스스로 서비스를 구성할 수 있는 사용자 정의 런레벨이라

할 수 있다. 나머지는 리눅스 시스템에서 사용하는 런레벨이다.

2. chkconfig로 서비스 설정하기
chkconfig는 쉽게 서비스를 등록하거나 삭제, 혹은 특정 런레벨에서 서비스를 실행시키는 설정을 가능

하게 합니다. man page를 보면 자세한 설명이 나온다.

일단 새로운 서비스를 등록하기 전에 사전 작업이 필요하다.

1) /etc/rc.d/init.d라는 디렉토리에 실행시킬 실행 스크립트를 넣어줘야 한다.

 - 이 디렉토리는 시스템 부팅시 초기화 과정 에서 실행 될 서비스들의 실행 스크립트가 모여있는 디렉

토리이다. 그 rc.d 하위의  rc.0, rc.1, rc.2 디렉토리는 각 런레벨에 따라 실행될 스크립트들이 init.d에 있

는 스크립트 파일의 링크들을 가지고 있다.

그런 다음에 해당 스크립트에 실행 priority, 중지 priority를 설정하는 엔트리를 넣어주고,

chkconfig, description는 필수적으로 입력해야 서비스에 등록된다. 그외에 엔트리들은 옵션사항이다.

# vi /etc/rc.d/init.d/sendmail
#!/bin/bash
#
# sendmail      This shell script takes care of starting and stopping
#               sendmail.
#
# chkconfig: 2345 80 30
# description: Sendmail is a Mail Transport Agent, which is the program \
#              that moves mail from one machine to another.
# processname: sendmail
# config: /etc/mail/sendmail.cf
# pidfile: /var/run/sendmail.pid
....

chkconfig:<space>run-level<sapce>시작 우선순위<space>종료 우선순위
run-level은 실행될 수 있는 런레벨을 지정한다. 위에서 2345는 레벨 2, 3, 4, 5라면 이 서비스는 시작된다
는 의미가 된다.  런레벨을 -로 입력하면 어떤 레벨에서든지 시작하지 않겠다는 뜻이다. 즉, 부팅시 자
동 시작을 안하겠다는 것이다.

2) service 등록
# chkconfig --add <service name>
service name은 init.d에 있는 스크립트의 파일명이 된다.

# chkconfig --add sendmail
sendmail 서비스를 등록한다.
add할 경우 chkconfig 엔트리에 내용대로 런레벨의 on/off가 적용된다.

3) service on/off/reset
해당 서비스를 on/off할 것인 지를 정한다.
만일,
# chkconfig sendmail off
라고 하면, on 되어 있는 모든 런레벨을 off해버린다.

# chkconfig sendmail on
엔트리의 내용대로 런레벨의 on이 되어 진다.

# chkconfig --level 2345 sendmail on
위의 명령어는 런레벨 2,3,4,5에서 sendmail 서비스를 시작하겠다는 뜻이다.

# chkconfig sendmail reset
reset은 on/off 설정을 원래대로 돌리는 것이다. 현재 sendmail이 2,3,4,5 레벨에서 실행하게 되어 있지만,
이후에 2,3을 off시켰다고 하자. 그런다음 reset을 하면 다시 2,3이 on으로 설정된다.

4) 서비스 삭제
# chkconfig --del sendmail
sendmail서비스를 삭제한다.

4) 서비스 리스트 보기
# chkconfig --list
이것은 모든 서비스 리스트를 보여주는 것이다.

# chkconfig --list sendmail
list중에 sendmail만 보여준다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 크기 제한 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 DataBase 질문글은 자유게시판에 작성해 주세요. 뭉충닷컴 2005-09-24 113094
38 리눅스 (13)permission denied: make_sock: could not bind to address 0.0.0.0:80 뭉충닷컴 2017-11-28 37
37 리눅스 주기적으로 아파치/톰캣 프로세스 갯수 로깅 남기기 file [1] 뭉충닷컴 2017-06-09 100
36 리눅스 winscp를 이용한 rcp 파일 업로드 뭉충닷컴 2014-07-31 2734
35 리눅스 특정날짜에 해당하는 파일 찾기 뭉충닷컴 2014-07-25 2248
34 리눅스 일정 시간 간격으로 리눅스 명령어 반복 실행 뭉충닷컴 2014-04-22 4482
33 리눅스 파일 copy 하면서 디렉토리까지 같이 생성하기 뭉충닷컴 2014-02-11 2324
32 리눅스 bash 변수내의 문자열 replace 뭉충닷컴 2013-07-30 2681
31 리눅스 sqlplus 실행결과를 bash 변수에 저장 뭉충닷컴 2013-07-30 4128
30 리눅스 bash shell 사용자 입력 받기 뭉충닷컴 2013-07-12 4520
29 리눅스 오라클 imp/exp에서 where 절 사용하기 뭉충닷컴 2013-07-11 4337
28 리눅스 리눅스에서 OS 버전 확인 뭉충닷컴 2012-11-01 6023
27 리눅스 리눅스 빈디렉토리 삭제 뭉충닷컴 2012-07-30 6784
26 리눅스 특정기간내에 변경된 파일 찾아서 압축 뭉충닷컴 2012-05-04 5345
25 리눅스 리눅스 bash 쉘(shell)로 파일 내용 검색 일괄로 처리하기 [1] 뭉충닷컴 2012-04-04 10442
24 리눅스 chkconfig 및 runlevel 뭉충닷컴 2011-10-19 5820
23 리눅스 find 명령어 여러가지 사용법 (리눅스 파일 찾기) 뭉충닷컴 2011-01-21 15222
22 리눅스 SSL 비밀번호가 다른 2개의 웹서비스를 하나의 아파치 서버에 셋팅 방법 뭉충닷컴 2011-01-12 11416
» 리눅스 리눅스에서 서비스 설정하기. 뭉충닷컴 2010-12-14 9374
20 리눅스 tar 압축/해제의 여러가지 사용법 뭉충닷컴 2010-12-14 10494
19 리눅스 아파치 로그파일 크기가 1기가 이상되면 백업하기 뭉충닷컴 2010-09-29 11290