Invoke-rc.d non riesce a far partire o a fermare un servizio

From RVM Wiki
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.

Riferimenti