리눅스 chkconfig

IT 위키
런레벨별로 서비스의 자동 시작 여부를 설정하고 확인하는 명령
  • 경로 : /sbin/chkconfig

SysV init 기반 시스템(CentOS·RHEL 6 이하)에서 /etc/rc.d/rc[0-6].d/ 의 심볼릭 링크를 직접 만들지 않고 서비스의 부팅 시 자동 실행 여부를 관리하는 도구다. systemd 를 쓰는 배포판에서는 systemctl enable/disable 로 대체되었으나, 호환을 위해 명령은 남아 있다.

현재 실행 상태를 바꾸는 것이 아니라 다음 부팅 때의 시작 여부를 정한다. 지금 당장 시작·중지하려면 service 를 쓴다.

사용법

[편집 | 원본 편집]
chkconfig [--list] [--type 유형] [서비스명]
chkconfig [--level 런레벨] 서비스명 <on|off|reset>
chkconfig --add 서비스명
chkconfig --del 서비스명
  • --list : 서비스별 런레벨 0~6 설정 상태를 출력한다. 서비스명을 생략하면 전체를 보여 준다
  • --level 런레벨 : 적용할 런레벨을 지정한다. 생략하면 기본값인 2,3,4,5 에 적용된다
  • --add : 서비스를 chkconfig 관리 대상에 등록한다
  • --del : 관리 대상에서 제거한다
  • on / off : 해당 런레벨에서 자동 시작을 켜거나 끈다
  • reset : 스크립트에 지정된 기본값으로 되돌린다
# 전체 서비스의 런레벨별 설정 확인
# chkconfig --list
crond     0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
sshd      0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제

# 특정 서비스만 확인
# chkconfig --list telnet

# 재부팅 후에도 telnet 이 동작하도록 설정
# chkconfig telnet on

# 런레벨 3, 5 에서만 켜기
# chkconfig --level 35 httpd on

# 끄기
# chkconfig httpd off

xinetd 로 관리되는 서비스(telnet 등)에 chkconfig 서비스명 on 을 쓰면 /etc/xinetd.d/ 의 해당 설정에서 disable = no 로 바뀐다.

비슷한 명령

[편집 | 원본 편집]
  • ntsysv : 같은 일을 텍스트 메뉴 화면에서 처리한다(리눅스 ntsysv)
  • service : 서비스를 지금 시작·중지·재시작한다
  • systemctl : systemd 기반 시스템의 통합 관리 명령. systemctl enable telnetchkconfig telnet on 에 대응한다

같이 보기

[편집 | 원본 편집]