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


10

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

나는 당신이 update-rc.d -f service remove(기본적으로 링크를 제거합니다) 할 수 는 rcX.d있지만, 이렇게하면 서비스의 시퀀스 번호 ( SXXservice, 시퀀스 번호는 XX) 를 잃어 버리고 서비스 를 다시 활성화하려고 할 때 삶이 어려워집니다. 또한 링크의 이름을 바꿔서 rcX.d시작하지 않도록 S(또는 다른 곳으로 옮길 수 있음) 알고 있지만, "Debian-approved best-practice"방법이 있는지 궁금합니다.

답변:


12

update-rc.d 매뉴얼 페이지를보십시오. Init 스크립트 링크 설치 섹션의 세 번째 단락은 다음과 같습니다.

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

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


예를 들어 :sudo update-rc.d postgresql disable
루이스

5

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

프롬프트에서 입력하십시오.

sudo apt-get 설치 sysv-rc-conf

건배!


좋은 도구입니다. 감사합니다. 또한 서비스를 올바르게 비활성화합니다 (예 : symlink의 이름을 K ...로 변경).
Heinzi

2

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

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


0

알다시피, "데비안 모범 사례"는 패키지제거하는 것 입니다. 사용하지 않는 패키지는 설치하지 않아야합니다. 이것이 데비안 패키지가 모두 설치시 시작되도록 구성된 이유입니다.

(실행하지 않고 설치하는 데 유용한 패키지는 대개 /etc/default/<packagename>구성 파일에 시작을 비활성화하도록 설정되어 있습니다.)


2
당신은 오해합니다. "부팅시 자동으로 시작되지 않는다"는 "패키지를 전혀 사용하지 않음"을 의미하지는 않습니다. 간단한 예를 들어, 부팅시 데몬으로 시작하는 대신 SSH 서버를 xinetd로 시작하기를 원할 수 있습니다.
quack quixote
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.