Invoke-rc.d non riesce a far partire o a fermare un servizio
Jump to navigation
Jump to search
Se un comando inviato tramite invoke-rc.d tipo
sudo invoke-rc.d fetchmail start
fallisce senza nessun messaggio, mentre l'omologo funziona
sudo /etc/init.d/fetchmail start
Ci sono due motivazioni per cui invoke-rc.d non funziona:
- la configurazione degli start-stop nei runlevel non è corretta
- l'initscript non è aggiornato
Start-Stop runlevel errati
- Ad esempio, se non funziona
sudo invoke-rc.d ntp start
- Verificare il runlevel attuale
runlevel N 2
- Verificare i link dell'initscript per il runevel attuale:
ls /etc/rc2.d/| grep ntp lrwxrwxrwx 1 root root 13 Jul 2 2012 K01ntp -> ../init.d/ntp
- In questo caso il link è erroneamente per lo STOP del servizio nel runlevel attuale, e quindi invoke-rc.d NON lo avvia.
- Per sistemare gli start-stop link, prima rimuovere la configurazione attuale
sudo update-rc.d -f ntp remove
- Verificare che non ci siano link:
ls /etc/rc2.d/| grep ntp
- Impostare la configurazione di default, e verificare:
sudo update-rc.d -f ntp defaults
ls /etc/rc2.d/| grep ntp lrwxrwxrwx 1 root root 13 Sep 3 11:34 S03ntp -> ../init.d/ntp
- Ora funziona
sudo invoke-rc.d ntp start Starting NTP server: ntpd.
sudo invoke-rc.d ntp status NTP server is running.
Initscript non è aggiornato
Significa che l'initscript non è aggiornato.
Per reinstallare la versione aggiornata
- trovare quali sono i file di configurazione (conffiles) del pacchetto installato:
dlocate -conf fetchmail
/etc/ppp/ip-down.d/fetchmail /etc/ppp/ip-up.d/fetchmail /etc/logcheck/ignore.d.workstation/fetchmail /etc/logcheck/ignore.d.server/fetchmail /etc/init.d/fetchmail /etc/resolvconf/update-libc.d/fetchmail /etc/default/fetchmail
- Farne una copia
- Purgare il pacchetto
sudo apt-get remove --purge fetchmail
- Reinstallarlo:
sudo apt-get install fetchmail
- Sostituire i file di configurazione TRANNE L'INIT.D con quelli backuppati.