티스토리 뷰

개발/Linux

(CentOS) chkconfig 이해하기

Jaeyeon Baek 2017.04.18 13:19

리눅스 시스템은 부팅시에 자동으로 스크립트 실행을 통해 특정 데몬의 시작 여부를 결정할 수 있는데, 이를 간편하게 제어할 수 있도록 제공되는 명령어라 chkconfig 되시겠다. 


명령어의 도움말을 보면 아래와 같이 무척 간단해 보인다.

chkconfig --help


우선 이 명령어를 이해하기에 앞서 CentOS의 부팅모드를 이해하고 있어야 한다. /etc/inittab 에서 현재 시스템의 모드를 확인할 수 있는데, 샵(#)은 주석이니 신경 쓸 필요 없고 마지막에 id 값을 보면 3 (Full multiuser mode)으로 설정 된 것을 기억한다.


가장 보편화되어 사용하는 sshd의 상태를 예제로 살펴보기로 한다. 현재 sshd의 상태는 아래와 같고, 0~6까지 나타내는 숫자는 바로 위에 inittab에서 언급된 각각의 숫자를 의미한다. 현재 inittab에서 id 상태가 3이었으니 sshd3:활성 상태에 주목하면 된다. 즉, 현재 모드에서 sshd는 부팅시에 자동으로 실행된다는 것을 의미한다. 

chkconfig --list [데몬이름]


조금 더 깊게 살펴보면 레벨 3일 때 부팅시 수행여부가 결정되는 리스트는 /etc/rc.d/rc3.d 에서 확인 가능하다. (rc 0~6 까지 디렉터리가 존재한다.) 현재 sshd의 부팅시 수행 여부는 아래와 같다.


링크파일로 생성이 되어 있는데 S55sshd 앞에 있는 S 에 주목해야 한다. S는 활성화 되어 있다는 의미이고, K는 비활성을 의미한다.

이제 아래와 같은 방법으로 상태를 해제(비활성)로 변경하고 상태를 확인해보자.

chkconfig --level 3 [데몬이름] off


정상적으로 3:해제 되었고 /etc/rc.d/rc3.d 경로 밑에 S55sshd의 링크이름도 K25sshd로 변경되었다. (알파벳과 sshd 사이에 55, 25 같은 숫자에 대해서는 신경쓰지 않아도 괜찮다. 수행순서일 뿐이다.)


해제를 하기 위해 off를 했듯이 다시 활성화 하려면 on을 사용하면 된다. 아래와 같이 다시 상태를 확인해보자.

chkconfig --level 3 [데몬이름] on


간혹 리눅스 시스템에서 데몬이 시작되지 않는 경우를 마주하게 되는데 부팅모드에 의해 막혀있는 것은 아닌지 위와 같이 확인해보면 되겠다.

댓글
  • 프로필사진 라움 S가 붙어있으면 실행될 때 링크된 스크립트로 start 파라미터가 전달되고, K가 붙어있으면 stop이 전달된다는데 맞나요? 2018.10.04 17:07 신고
  • 프로필사진 BlogIcon Jaeyeon Baek stop 된다는 것과는 조금 다른 의미입니다. 부팅시에 읽히지 않게 된다고 생각하시는게 좋을 것 같네요 :) 2018.11.06 09:18 신고
댓글쓰기 폼