Linux

[Ubuntu 14] update-rc.d - 서비스 비활성화

비번변경 2022. 2. 28. 20:59

Ubuntu 18.04 이상 정도의 버전에서는 systemctl을 이용하여 서비스를 관리한다.

여기서 관리한다는 것은 서비스를 시작하거나 중지하거나, 부팅 시 자동 시작(enable)하도록 추가하거니, 부팅 시 자동 시작하도록 설정된 작업을 부팅 시 자동 시작에서 제외(disable)하는 등의 작업을 말한다.

 

명령어

# 부팅 시 자동 시작
systemctl enable <SERVICE_NAME>

# 부팅 시 자동 시작에서 제외
systemctl disable <SERVICE_NAME>

 

그 이전의 버전에서는 service 명령어를 이용하여 서비스를 관리한다. 단, 서비스 명령은 /etc/init.d/ 아래의 서비스 스크립트에 정의된 인자값만을 지원하기 때문에, disable 또는 enable 인자를 사용할 수 없을 수도 있다. apache2를 그 예시로 들 수 있다.

root@ec2:~# service apache2 disable
Usage: apache2 {start|stop|graceful-stop|restart|reload|force-reload|start-htcacheclean|stop-htcacheclean}

 

이런 경우에는 update-rc.d를 이용할 수 있다.

 

update-rc.d

시스템의 부팅과 종료에 관여하는 스크립트 관리기

 

실행 파일

/sbin/init : init가 실행해야 할 모든 일이 명시된 파일
/etc/init.d/rc : 각 실행 단계 스크립트
/etc/init.d/rcS : init에서 처음으로 실행하는 스크립트

 

디렉터리

/etc/init.d : 각 실행 단계에서 실행되는 실제 스크립트가 저장
/etc/rcS.d : rcS 스크립트에 의해 실행되어질 명령 목록
/etc/rc0.d : 0 번 단계에서 실행되어질 명령 목록
/etc/rc1.d : 1 번 단계에서 실행되어질 명령 목록
/etc/rc2.d : 2 번 단계에서 실행되어질 명령 목록
/etc/rc3.d : 3 번 단계에서 실행되어질 명령 목록
/etc/rc4.d : 4 번 단계에서 실행되어질 명령 목록
/etc/rc5.d : 5 번 단계에서 실행되어질 명령 목록
/etc/rc6.d : 6 번 단계에서 실행되어질 명령 목록

스크립트가 /etc/init.d에 위치하고 있어야 하며, 그 스크립트를 실행 단계 디렉터리에 심볼릭 링크로 걸어주어야 한다.

이러한 링크를 걸어주는 작업을 update-rc.d가 수행한다.

 

즉, 부팅 시 자동 시작을 비활성화하기 위해서는 /etc/rc?.d/에 걸려있는 심볼릭 링크를 제거하면 되며 그 명령어는 아래와 같다.

update-rc.d -f <SERVICE_NAME> remove
# -f : /etc/init.d 내에 실제 링크되어 있는 파일 삭제
# -n : 실행 과정 출력

# 예시
update-rc.d -f apache2 remove

 


참고 문서

https://wiki.debianusers.or.kr/index.php?title=Update-rc.d 

 

Update-rc.d - 한국 데비안 사용자 모임

이 프로그램은 시스템의 부팅과 종료에 관여하는 스크립트 관리기이다. 이 문서에서는 레드햇과의 차이점에 대해 다루지 않으므로 다른 서적이나 문서를 참조하기 바란다. 데비안에서는 기본

wiki.debianusers.or.kr

https://blog.daum.net/english_100/113

728x90