데비안에서 서비스를 비활성화하는 권장 방법

데비안에서 서비스를 비활성화하는 권장 방법

데비안에서 서비스를 비활성화하는 "권장 방법"이 있습니까? (비활성화 = 서비스가 설치되었지만 머신이 부팅될 때 자동으로 시작되지 않습니다.)

update-rc.d -f service remove기본적으로 의 링크를 제거 할 수 있다는 것을 알고 있지만 rcX.d이렇게 하면 서비스의 시퀀스 번호( SXXserviceXX가 시퀀스 번호임)가 손실되어 서비스를 다시 활성화하려고 할 때 작업이 더 어려워집니다. 나는 또한 링크가 rcX.d시작되지 않도록 (또는 다른 곳으로 이동하지 않도록) 링크의 이름을 바꿀 수 있다는 것을 알고 있지만 S이를 수행하는 "데비안이 승인한 모범 사례" 방법이 있는지 궁금했습니다.

답변1

update-rc.d 매뉴얼 페이지를 살펴보십시오. 섹션의 세 번째 단락Init 스크립트 링크 설치읽다…

일반적인 시스템 관리 오류는 서비스가 "비활성화"될 것이라는 생각, 즉 서비스가 시작되지 않을 것이라는 생각으로 링크를 삭제하는 것입니다. 그러나 모든 링크가 삭제된 경우 다음에 패키지를 업그레이드할 때 패키지의 postinst 스크립트가 update-rc.d를 다시 실행하고 이로 인해 링크가 공장 기본 위치에 다시 설치됩니다. 서비스를 비활성화하는 올바른 방법은 기본적으로 서비스가 시작되는 모든 런레벨에서 서비스가 중지되도록 구성하는 것입니다. System V init 시스템에서 이는 서비스의 심볼릭 링크 이름을 S에서 K로 바꾸는 것을 의미합니다.

마지막 두 문장이 귀하의 질문에 답해야 합니다. :-)

답변2

"sysv-rc-conf" 유틸리티를 사용하여 생활을 좀 더 쉽게 만들 수 있습니다. 다른 시스템의 chkconfig 도구에 가깝습니다.

프롬프트에 다음을 입력하세요.

sudo apt-get 설치 sysv-rc-conf

건배!

답변3

실제로 sysv-rc-confupdate-rc.d 매뉴얼 페이지에서도 권장되는 접근 방식은 다음과 같습니다.

이 프로그램은 패키지 관리자 스크립트에 사용하도록 설계되었으므로 해당 스크립트에 필요한 기능이 매우 제한되어 있습니다. 시스템 관리자는 update-rc.d를 사용하여 런레벨을 관리하는 것을 권장하지 않습니다. 링크를 직접 편집하거나 대신 sysv-rc-conf 및 bum과 같은 런레벨 편집기를 사용해야 합니다.

답변4

내가 이해한 대로 "데비안 모범 사례"는패키지 제거. 패키지를 사용하지 않는 경우 패키지를 설치해서는 안 됩니다. 이것이 데비안 패키지가 모두 설치 시 시작되도록 구성되어 있는 이유입니다.

(실행하지 않고 설치하면 유용할 수 있는 몇 가지 패키지는 일반적으로 /etc/default/<packagename>구성 파일에 시작을 비활성화하는 설정이 있습니다.)

관련 정보