리눅스 서비스 제어하기
- 리눅스 부팅 과정
- BIOS가 부팅 가능한 장치의 처음 영역(MBR)을 읽음
- MBR에는 운영체제를 부팅하는 부트로더가 설치되어 있음
- 부트로더가 운영체제의 커널을 메모리로 불러옴
- 커널이 하드디스크의 루트 파티션(/)을 마운트하고 하드웨어 감지
- PID 1번 init 프로세서 실행
- -> 사용자가 시스템을 사용할 수 있는 환경 만듬
- init : 시스템 초기화 프로세스
- BIOS가 부팅 가능한 장치의 처음 영역(MBR)을 읽음
- run level
- run level : 필요에 따라 시스템을 다른 환경으로 부팅할 수 있도록 구분해둔 설정
- init은 run level에 따라 예약된 프로세스 실행(0~6까지 존재)
- 0 : 시스템 종료
- 1 : 단일 사용자 모드
- 2 : 다중 사용자 모드(기본값)
- 3/4 : 2와 동일한 환경
- 5 : X-Windows 인터페이스
- 6 : 시스템 재시작
- runlevel : 현재의 런레벨 확인
12whan@whan-VirtualBox:~$ runlevelN 5 - run level 관련된 디렉터리
- /etc/init.d : 프로세스 실행 및 종료에 관련된 스크립트 모음
- /etc/rc0.d : run level이 0일 때 실행되는 스크립트 링크 모음
- /etc/rc1.d : run level이 1일 때 실행되는 스크립트 링크 모음
- ..
- /etc/rc6.d : run level이 6일 때 실행되는 스크립트 링크 모음
- /etc/rcS.d or /etc/rc.local.d : 모든 run level에 공통으로 실행되는 스크립트 링크 모음
- ls -al /etc | grep rc[0-6S] : rc 디렉터리만 모아서 보기
123456789whan@whan-VirtualBox:~$ ls -al /etc | grep rc[0-6S]drwxr-xr-x 2 root root 4096 9월 10 13:10 rc0.ddrwxr-xr-x 2 root root 4096 9월 10 13:10 rc1.ddrwxr-xr-x 2 root root 4096 9월 13 00:01 rc2.ddrwxr-xr-x 2 root root 4096 9월 13 00:01 rc3.ddrwxr-xr-x 2 root root 4096 9월 13 00:01 rc4.ddrwxr-xr-x 2 root root 4096 9월 13 00:01 rc5.ddrwxr-xr-x 2 root root 4096 9월 10 13:10 rc6.ddrwxr-xr-x 2 root root 4096 9월 10 13:10 rcS.d - sysv-rc-conf : run lovel 편집하기
- 설치1 : sudo apt-get install sysv-rc-conf : sysv-rc-conf
- Ubuntu 17.04 이후버전에서는 설치 안됨
- 설치2 : 소스코드로 설치하기
- wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sysv-rc-conf/sysv-rc-conf_0.99.orig.tar.gz
- gunzip sysv-rc-conf_0.99.orig.tar.gz
- 또는 tar zxvf sysv-rc-conf_0.99.orig.tar.gz
- tar xvf sysv-rc-conf_0.99.orig.tar
- cd sysv-rc-conf-0.99
- sudo make
- 오류발생 시 : sudo apt-get install make
- sudo make install
- sudo apt install libcurses-ui-perl libterm-readkey-perl
- libcurses-perl
- 실행 : sudo sysv-rc-conf
- 실행결과
- 설치1 : sudo apt-get install sysv-rc-conf : sysv-rc-conf
- 네트워크 서비스 관리하기