Come installare uno script init.d?


71

Sto cercando di installare uno script init.d, per eseguire il sedano per le attività di pianificazione. Ecco i passaggi che ho seguito:

  • copiato il file sedano e incollato nella cartella /etc/init.d/
  • creato un file di configurazione sedano nella cartella / etc / default /

ora quando ho provato a avviarlo sudo /etc/init.d/celeryd start, si genera un erroresudo: /etc/init.d/celeryd: command not found

Ho cercato su Google come installare init.d, ho ricevuto questa domanda SO .

dice di rilasciare un uname -ae quando lo faccio ottengo questo:

Linux capsonesystem8-desktop 3.2.0-43-generic-pae 
#68-Ubuntu SMP Wed May 15 03:55:10 UTC     
2013 i686 i686 i386 GNU/Linux

e dice anche che usa utils come insservper abilitare lo script init.d così provato:

insserv /etc/init.d/celeryd ma genera errore insserv: command not found

così ho provato a installare insserv sudo apt-get install insserv . ma dice già installato:

insserv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 222 not upgraded.

Quindi, come installare lo script init.d ?? Qualsiasi aiuto sarà apprezzato.

Update1:

quando ho provato:

$ sh -x /etc/init.d/celeryd start

ne rivela alcuni errors. potrebbe essere questo il motivo per cui il servizio non si avvia.

Update2:

Ho eseguito tutti gli errori quando ho eseguito $ sh -x /etc/init.d/celeryd startma sudo /etc/init.d/celeryd startgenera ancora command not founderrori


Non ho tempo per una risposta ora, ma, se vuoi che funzioni come parte della tua startup, allora penso che devi aggiungere collegamenti al tuo script nelle varie directory runlevel in modo che Linux gestirà l'avvio e fermarlo per voi. (/etc/rc[0-6[.d) Questo processo viene gradualmente sostituito da un metodo più recente (penso che si chiami upstart.), ma non ho esaminato affatto. Il link nel tuo post affronta alcuni di questi.
Joe,

Risposte:


55

Il tuo celerydscript probabilmente non è eseguibile, ecco perché sudo /etc/init.d/celerydsta tornando command not found. Quindi, devi prima renderlo eseguibile.

Per fare ciò, esegui i seguenti comandi:

sudo chmod 755 /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

La prima riga modifica le autorizzazioni in -rwxr-xr-xe la seconda riga garantisce che il proprietario e il proprietario del gruppo siano root.

Una volta fatto questo, presumo che dovrai usare sudo /etc/init.d/celeryd startper avviare il demone.


70

Quando copi lo script in posizione, non dimenticare di renderlo eseguibile e di proprietà di root:

sudo chmod +x /etc/init.d/celeryd
sudo chown root:root /etc/init.d/celeryd

Una volta installato, puoi impostarlo per l'avvio automatico all'avvio con:

sudo update-rc.d celeryd defaults
sudo update-rc.d celeryd enable

Questa sarebbe considerata la migliore risposta, causa di puntamento a update-rc.d.
MAChitgarha,

3

Se viene visualizzato l' command not founderrore durante l'esecuzione insserv, è possibile correggerlo eseguendo il comando seguente:

sudo ln -s /usr/lib/insserv/insserv /sbin/insserv

Quindi vedere insserv -ho man insservper aiuto.

Inoltre puoi provare con:

sudo update-rc.d celeryd defaults

Fonte: https://askubuntu.com/a/334043/147044


1

Questa è la sequenza di comandi per avviare automaticamente il demone all'avvio:

sudo cd /etc/init.d
sudo chown root:root celeryd
sudo chmod 755 celeryd
sudo ln -s /usr/lib/insserv/insserv /sbin/insserv
sudo insserv celeryd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.