여러 데몬 프로세스에 Upstart 스크립트와 init.d 스크립트가 동시에 있는 이유는 무엇입니까? [폐쇄]

여러 데몬 프로세스에 Upstart 스크립트와 init.d 스크립트가 동시에 있는 이유는 무엇입니까? [폐쇄]

저는 Ubuntu 12.04.3 LTS를 실행 중이고 Samba, DHCP 서버 등과 같은 여러 서비스가 설치되어 있습니다.

"halt now", "telinit 6" 또는 이와 유사한 명령을 실행하면 다음 경고가 표시됩니다.

Since the script you are attempting to invoke has been converted
to an Upstart job, you may also use the...

영향을 받은 서비스가 두 번 중지/시작을 시도하는 것을 볼 수 있습니다. 한 번은 Upstart 작업을 통해, 그리고 다시 init.d 스크립트에 대한 /etc/rcN.d 폴더의 S/K 심볼릭 링크를 통해. 아마도 /etc/rcN.d 폴더에서 심볼릭 링크를 간단히 삭제할 수 있을 것입니다.

프로세스 예:

  1. 쉘에서 "지금 중지"를 실행하십시오.
  2. Upstart가 Samba를 중지합니다(Samba에 Upstart conf 파일이 있기 때문에).
  3. SysV가 Samba를 다시 중지하려고 합니다(아직 /etc/rc0.d/K20smbd 심볼릭 링크가 있기 때문에).

불필요해 보이고 추악한 경고가 표시되므로 3단계를 이해하지 못하거나 원하지 않습니다.

여러 데몬이 Upstart 스크립트와 init.d 스크립트에 대한 심볼릭 링크를 동시에 갖는 이유는 무엇입니까? 각 /etc/rcN.d 폴더에서 중복된 심볼릭 링크를 수동으로 정리해야 합니다. 이것이 올바른 방법입니까?

답변1

initUbuntu에는 실행할 때마다 해당 upstart를 호출하는 호환성 링크가 있습니다 .

예를 들어, 전화를 걸어 sudo /etc/init.d/apache startupstart-job에 연결하면 사용해야 할 유용한 정보 메시지가 표시되고 sudo services apache start자체적으로 명령이 실행됩니다.

ls -l /etc/init.d/network-manager 
lrwxrwxrwx 1 root root 21 Sep 18 14:02 /etc/init.d/network-manager -> /lib/init/upstart-job

cat /lib/init/upstart-job
#!/bin/sh -e
# upstart-job
#
# Symlink target for initscripts that have been converted to Upstart.
{ lots of ASCII awesomeness }

답변2

나는 이것이 내 Puppet 스크립트의 구성 오류임을 발견했습니다.

"서비스" 유형 속성 "Enabled"는 Upstart 스크립트를 인식하는 대신 SysV 초기화 스크립트를 생성합니다.

관련 정보