리눅스에서 서비스 등록하기

Tags:

(자꾸 까먹어서 적어 놓습니다 ;;)

예를들어, sshd를 돌리고 싶다고 하겠습니다. 그리고 지금 fedora core 3을 깔았다고 해보죠. 그러면 일단 ls /etc/init.d/sshd 를 해보면 이미 시작/재시작/종료 등을 위한 스크립트가 있음을 알 수 있습니다. 그러면, 런레벨 2,3,4,5에서 이를 on 하도록 설정 해보겠습니다. (참고로 런레벨 4는 unused지만 그 런레벨에서도 활성화 시키더군요. 이유는 모르겠지만…)

$chkconfig –level 2345 sshd on

간단하죠?

마찬가지로 fedora에는 vsftpd 정도는 /etc/init.d 에 이미 다 있습니다. 다만 자동 시작이 안되게 되어있어서 그렇죠. 마찬가지로 httpd도 있죠. 이들을 2345에서 시작시키려면 역시나

$chkconfig –level 2345 vsftpd on
$chkconfig –level 2345 httpd on

그리고 현재 런레벨이 3(다사용자), 또는 5(X윈도우)인 상태로 이미 진입해있는 상태니까 껐다켜지 않는한 chkconfig 내용이 반영은 안됩니다. 따라서 서비스는 별도로 실행을 시켜줘야합니다.

$service sshd start

실행방법은 위와 같습니다. 하지만 사실은 저렇게 실행하나

$/etc/init.d/sshd start

로 실행하나 같은 내용입니다.

하지만 sshd 같은 서비스 등록이 공짜로 한번에 되는건 아닙니다. man chkconfig 를 해보면 나오지만,

chkconfig 를 위한 설정

For example, random.init has these three lines:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
This says that the random script should be started in levels 2, 3, 4,
and 5, that its start priority should be 20, and that its stop priority
should be 80. You should be able to figure out what the description
says; the \ causes the line to be continued. The extra space in front
of the line is ignored.

뭐 어쨌든 rc<레벨>.d 디렉토리 들어가서 일일히 심볼릭 링크 만들던거 생각하면 편한거죠..

Comments

3 responses to “리눅스에서 서비스 등록하기”

  1. 이희승 Avatar

    rc-update.d 던가? 그게 더 편리하지 않나요? ^^ 물론 세세한 컨트롤이 좀 부족하지만 사실 그런게 필요한 경우가 별로 없잖아요.

  2. trax Avatar

    데비안에서는 /etc/init.d/sshd가 있으면

    update-rc.d sshd defaults

    라고만 해주면 생성과 종료가 알아서 만들어지고, remove도 update-rc.d로 해결할 수 있는데…

    개인적으로 데비안보다는 Ubuntu를 설치해서 쓰라고 하고 싶지만 Oracle이 걸리려나…(KDE기반의 K-ubuntu가 더 이쁠듯)

    하여간 올해 Top 100 Softwares에 24위가 우분투였는데…

  3. 민구 Avatar
    민구

    역시나 리눅스 다들 잘하시는군요.

    전 스스로 제가 왜 chkconfig 명령을 아는지도 모르게 알게되었거든요.. 다들 어디서 그런 명령어들을 배우신건지.

    리눅스라는게 운영체제다 보니 아무래도 쓰던 명령어만 쓰면서 그냥 익숙하게 살아가게 되는 것 같아요.. 그런이유로 그냥 up2date로 커널 업그레이드 된다는데 기뻐하고, yum 을 쓰면서 그냥 살래요;; 글구 저 요즘 오라클 안써요;; vi 와 gcc, make, java툴들만 되면 오케이라는…

Leave a Reply

Your email address will not be published. Required fields are marked *