Por que meu script não é executado no runlevel 0?

2

Eu fiz um script com o seguinte cabeçalho do LSB

#! /bin/sh
### BEGIN INIT INFO
# Provides:          updateservice
# Required-Start:    $local_fs $time $network $named $syslog
# Required-Stop:     $local_fs $time $network $named $syslog
# Default-Start:
# Default-Stop:      0
# Short-Description: Update Service
# Description:       This script is meant to update and upgrade
#                    the system. It uses apt-get.
### END INIT INFO

colocou em /etc/init.d e criou os links com update-rc.d e conseguiu o que eu queria ter

 lrwxrwxrwx 1 root root 19 Nov 29 13:08 /etc/rc0.d/K01update.sh -> ../init.d/update.sh

.... mas: O script não é executado no encerramento. Por quê?

A execução de /etc/init.d/update.sh stop manually faz exatamente o que eu quero, mas não é executada ao desligar. E, como um fato divertido, o mesmo roteiro e configuração em um pi de framboesa funciona da maneira esperada.

Vocês são especialistas ... alguém tem alguma ideia?

PS: uname -a output:

Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux

Meu sistema de inicialização é o Systemd.

    
por Matthias 29.11.2014 / 13:41

1 resposta

-1

Da sua saída:

lrwxrwxrwx 1 root root 19 Nov 29 13:08 /etc/rc0.d/K01update.sh -> ../init.d/update.sh

K in K01update.sh significa processo de destruição na 01ª etapa quando o linux atinge o nível de execução zero! Eu não tenho debian mas como todos eles são linux, no redhat linux você precisa adicionar uma linha de comentário como a seguinte para informar o chkconfig start ou parar o serviço nessas prioridades!

# chkconfig: 2345 70 80

Os primeiros números são runlevels (2345), o segundo significa prioridade de início (70) e o último significa a prioridade de parada (80)!

Mas eu não tenho idéia sobre update-rc.d , se preciso ou não!

    
por 29.11.2014 / 14:19