por que este script init.d não está sendo executado na reinicialização do sistema?

1

Eu tenho um script init.d selfmade em uma caixa Linux que funcionou bem com o Debian 4 e o Debian 5, mas com o Debian 6 (nova instalação) ele só é executado na inicialização do sistema, mas não antes de reinicializar.

O script é praticamente este:

### 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...

Em reboot , vejo o sistema alternando para runlevel 6 e desmontando os sistemas de arquivos (veja que X-Stop-After: umountfs acima). Nenhum sinal de vida do meu script selfheal .

No sistema boot , porém, vejo a linha echo e o script está sendo executado.

Eu instalei o script usando:

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

sem erros / avisos. O link simbólico existe:

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

Note que com o Debian 6 veio a inicialização simultânea e eu acho que há algo errado com o meu "INIT INFO".

O que está errado aqui?

Atualizar

O script é executado ao definir CONCURRENCY=none em /etc/init.d/rc , mas eu gostaria de ter a simultaneidade do makefile ativada. Então, por que o script não é executado no modo de simultaneidade makefile?

    
por Udo G 16.05.2011 / 16:12

1 resposta

1

Eu encontrei o motivo:

O script precisava da seguinte linha na seção BEGIN INIT INFO para que a raiz fs não seja desmontada antes que meu script termine:

Should-Stop:       umountroot

Isso faz com que umountroot se torne "dependente" do meu script.

    
por 16.05.2011 / 17:39

Tags