시스템을 다시 시작할 때 이 init.d 스크립트가 실행되지 않는 이유는 무엇입니까?

시스템을 다시 시작할 때 이 init.d 스크립트가 실행되지 않는 이유는 무엇입니까?

내 Linux 컴퓨터에 homebrew init.d 스크립트가 있고 Debian 4 및 Debian 5에서는 제대로 작동하지만 Debian 6(새 설치)에서는 시스템 시작 시에만 실행되고 재부팅 구현 전에는 실행되지 않습니다.

스크립트는 실제로 다음과 같습니다.

### BEGIN INIT INFO
# Provides:          selfheal
# Required-Start:
# Required-Stop:
# X-Start-Before:    mountall
# X-Stop-After:      umountfs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: selfheal tool
# Description:       Saves/restores the user partition at (re)boot
### END INIT INFO

echo $0 $*
sleep 3

# some useful stuff follows here...

reboot시스템이 runlevel 6파일 시스템을 전환하고 마운트 해제하는 것을 확인했습니다(위 참조 ) X-Stop-After: umountfs. 내 스크립트에는 생명의 흔적이 보이지 않습니다 selfheal.

시스템에서시작하다그러나 줄이 보이고 echo스크립트가 실행 중입니다.

다음 명령을 사용하여 스크립트를 설치했습니다.

rm /etc/rc*.d/[SK]??selfheal && update-rc.d selfheal defaults

거기에는 오류/경고가 없습니다. 심볼릭 링크가 존재합니다:

root@intermodul:~# ls -al /etc/rc6.d/
total 12
drwxr-xr-x  2 root root 4096 May 16 16:09 .
drwxr-xr-x 68 root root 4096 May 16 16:07 ..
<snip>
lrwxrwxrwx  1 root root   18 May 16 15:09 K09umountfs -> ../init.d/umountfs
lrwxrwxrwx  1 root root   18 May 16 16:09 K10selfheal -> ../init.d/selfheal
lrwxrwxrwx  1 root root   20 May 16 15:09 K10umountroot -> ../init.d/umountroot
lrwxrwxrwx  1 root root   16 May 16 15:09 K11reboot -> ../init.d/reboot
-rw-r--r--  1 root root  351 Jan  1 06:34 README

데비안 6은 동시 부팅을 제공한다는 점에 유의하십시오. "INIT INFO"에 문제가 있는 것 같습니다.

여기에 문제가 있나요?

고쳐 쓰다

CONCURRENCY=none스크립트는 setup 시 실행되지만 /etc/init.d/rcmakefile 동시성을 활성화하고 싶습니다. 그렇다면 makefile 동시 모드에서 스크립트를 실행할 수 없는 이유는 무엇입니까?

답변1

나는 그 이유를 찾았습니다:

BEGIN INIT INFO스크립트가 완료될 때까지 루트 파일 시스템이 마운트 해제되지 않도록 해당 섹션에 다음 줄이 필요합니다 .

Should-Stop:       umountroot

이로 인해 umountroot내 스크립트에 "종속성"이 발생합니다.

관련 정보