Jak zainstalować skrypt init.d?


71

Próbuję zainstalować skrypt init.d, aby uruchomić selera do planowania zadań. Oto kroki, które wykonałem:

  • skopiował plik celeryd i wkleił go w folderze /etc/init.d/
  • utworzył plik konfiguracyjny celeryd w folderze / etc / default /

teraz, gdy próbowałem go uruchomić sudo /etc/init.d/celeryd start, generuje błądsudo: /etc/init.d/celeryd: command not found

Zaglądałem na temat instalacji init.d, dostałem to SO-pytanie .

mówi o wydaniu a, uname -aa kiedy to otrzymuję:

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

a także mówi, że use utils lubi insservwłączyć skrypt init.d, więc spróbowałem:

insserv /etc/init.d/celeryd ale generuje błąd insserv: command not found

więc próbowałem zainstalować insserv sudo apt-get install insserv . ale mówi, że aleady zainstalował:

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

Jak zainstalować skrypt init.d? Każda pomoc będzie mile widziana.

aktualizacja1:

kiedy próbowałem:

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

ujawnia niektóre errors. być może dlatego usługa się nie uruchomi.

aktualizacja2:

Po uruchomieniu usunąłem wszystkie błędy, $ sh -x /etc/init.d/celeryd startale nadal sudo /etc/init.d/celeryd startzgłasza command not foundbłąd


Nie mam teraz czasu na odpowiedź, ale jeśli chcesz, aby działała jako część twojego startu, to myślę, że musisz dodać linki do skryptu w różnych katalogach poziomów pracy, aby Linux mógł uruchomić i zatrzymać to dla ty. (/etc/rc[0-6].d) Ten proces jest stopniowo zastępowany nowszą metodą (myślę, że nazywa się to upstart.), ale wcale tego nie analizowałem. Link w twoim poście rozwiązuje niektóre z tych kwestii.
Joe

Odpowiedzi:


55

Twój celerydskrypt prawdopodobnie nie jest wykonywalny, dlatego sudo /etc/init.d/celerydpowraca command not found. Musisz więc najpierw wykonać go.

Aby to zrobić, uruchom następujące polecenia:

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

Pierwszy wiersz zmienia uprawnienia na -rwxr-xr-x, a drugi wiersz zapewnia, że ​​właścicielem pliku i właścicielem grupy jest root.

Gdy to zrobisz, zakładam, że będziesz musiał użyć, sudo /etc/init.d/celeryd startaby uruchomić demona.


70

Kiedy kopiujesz skrypt na miejsce, nie zapomnij, aby był wykonywalny i należał do roota:

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

Po zainstalowaniu możesz ustawić automatyczne uruchamianie przy rozruchu za pomocą:

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

To byłoby uważane za najlepszą odpowiedź, powód wskazywania update-rc.d.
MAChitgarha,

3

Jeśli pojawi się command not foundbłąd podczas uruchamiania insserv, możesz go naprawić, uruchamiając następujące polecenie:

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

Następnie zobacz insserv -hlub man insservpo pomoc.

Możesz także wypróbować:

sudo update-rc.d celeryd defaults

Źródło: https://askubuntu.com/a/334043/147044


1

Oto sekwencja poleceń, aby automatycznie uruchomić demona w czasie uruchamiania:

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.