리눅스

리눅스 chkconfig 사용해서 시작 프로그램 설정

coinAA 2022. 10. 9. 22:59

 

목차

     

    chkconfig란?

    chkconfig 는 리눅스서버가 부팅될 때 실행될 프로그램을 설정하는 역활을 하는 유틸리티이며,  서버 부팅시 프로그램 리스트와 런레벨별 실행여부 등을 확인하거나 설정할 수 있다.

     

    리눅스 Run Level이란?

    Run level이란, 시스템 관리의 용이함을 위하여 서비스의 실행을 단계별로 구분하여 적용하는 것을 말하며, 0단계부터 6단계까지 구성되어 있다.

    간단하게 Run level(작동 수준)"이란 말 그대로 리눅스 시스템을 어떤 수준으로  작동(부팅)시킬거냐를 말하는 것이다.


    단계별 Run level

    단계 의미 설명
    0 halt 시스템 종료를 의미하며,. 즉, run level 0으로 변경하라는 명령을 내리면 시스템을 종료한다.
    1 Single user mode 시스템 복원모드라고도 하며, 기본적으로 관리자 권한을 얻게 된다.
    주로, 파일시스템을 점검하거나 관리자 암호를 변경할 경우 사용한다.
    2 Multiuser mode NFS(Network File System)을 지원하지 않는 다중 사용자 모드이며, 네트워크를 사용하지 않는 텍스트 유저모드이다.
    3 Full muliuser mode 일반적인 Shell 기반의 인터페이스를 가진 다중 사용자 모드이다.
    일반적인 Window 운영체제와 같은 그래픽 모드가 아닌 텍스트 유저 모드이다.
    4 unused 쓰이지 않는 run level이지만 임의로 정의해서 사용할 수 있다.
    사용자가 임의로 지정 커스텀 할 수 있는 run level이다.
    5 Multi user mode 3 level과 같은 다중 사용자 모드이지만, 텍스트 유저 모드가 아닌 그래픽 모드이다.
    6 reboot 시스템 재부팅을 의미하며, Run level 6으로 변경하라는 명령을 내리면 시스템을 재부팅 한다.

     

    chkconfig 사용법

    사용 유형 명령어 사용법
    Linux List 확인 chkconfig --list [프로그램명]
    Linux 시작 시 실행되도록 설정 chkconfig [프로그램명] on
    Linux 시작 시 실행되지 않도록 설정 chkconfig [프로그램명] off
    Linux Run Level 별로 시작시 실행되도록 설정 chkconfig --level [레벨] [프로그램명] on
    Linux Run Level 별로 시작시 실행되지 않도록 설정 chkconfig --level [레벨] [프로그램명] off

     

    chkconfig 명령어 사용 예시

    #sshd 서비스의 부팅시 자동실행 여부를 chkconfig --list를 사용하여 확인.
    [root@localhost /]# chkconfig --list sshd
    sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    
    #sshd 서비스의 부팅시 자동실행 여부를 off 하는 법
    [root@localhost /]# chkconfig sshd off
    [root@localhost /]# chkconfig --list sshd
    sshd            0:off   1:off   2:off   3:off   4:off   5:off   6:off
    
    #sshd 서비스의 부팅시 자동실행 여부를 3, 5 레벨만 on 상태로 설정.
    [root@localhost /]# chkconfig --level 35 sshd on
    [root@localhost /]# chkconfig --list sshd
    sshd            0:off   1:off   2:off   3:on    4:off   5:on    6:off

    chkconfig --list 명령어 사용이 안될 시

    systemctl list-unit-files 명령어를 사용하여 대신 확인할 수 있다.

    systemctl list-unit-files

     

    systemctl list-unit-files 명령어 결과값