Warum startet mein init.d-Dienst nicht?

786
cgm123

Ich habe vor ein paar Wochen einen Raspberry Pi 3 gekauft und spiele schon lange damit. Ich verwende Raspbian Lite ohne Kopf und ich möchte etwas beim Booten ausführen. Nichts Aufregendes, nur ein paar Befehle, aber das finde ich sehr schwierig. Ich werde ein vereinfachtes Beispiel für mein Skript verwenden, aber darauf habe ich es hinuntergearbeitet und das ist, was ich nicht schaffen kann. Folgendes habe ich bisher gemacht:

Erstellt eine Datei /etc/init.d/sanity

#!/bin/sh # /etc/init.d/sanity  # If you want a command to always run, put it here echo "sanity script is running"  # Carry out specific functions when asked to by the system case "$1" in start) echo "START START START" echo "START START START" > /root/START.txt ;; stop) echo "STOP STOP STOP" echo "STOP STOP STOP" > /root/STOP.txt ;; *) echo "Usage: /etc/init.d/sanity " echo "FAIL FAIL FAIL" > /root/FAIL.txt exit 1 ;; esac  exit 0 

Dann die Berechtigungen mit geändert:

chmod 755 /etc/init.d/sanity 

Was scheint zu funktionieren:

root@raspberrypi:/etc/init.d|⇒ ll total 304 ...blah blah blah... -rwxr-xr-x 1 root root 493 Aug 13 23:09 sanity ...blah blah blah... 

Und manuell ausgeführt, scheint das zu funktionieren:

root@raspberrypi:/etc/init.d|⇒ sh sanity start sanity script is running START START START root@raspberrypi:/etc/init.d|⇒ sh sanity stop sanity script is running STOP STOP STOP root@raspberrypi:/etc/init.d|⇒ sh sanity sanity script is running Usage: /etc/init.d/sanity  root@raspberrypi:/etc/init.d|⇒ cat /root/STOP.txt STOP STOP STOP root@raspberrypi:/etc/init.d|⇒ cat /root/START.txt START START START root@raspberrypi:/etc/init.d|⇒ cat /root/FAIL.txt FAIL FAIL FAIL 

Sieht gut aus. Jetzt habe ich es so eingestellt, dass es beim Booten ausgeführt wird, und dann versucht, es wie ein Dienst zu starten ... aber es passiert nichts.

root@raspberrypi:/etc/init.d|⇒ update-rc.d sanity defaults insserv: warning: script 'K01sanity' missing LSB tags and overrides insserv: warning: script 'sanity' missing LSB tags and overrides root@raspberrypi:/etc/init.d|⇒ service sanity start root@raspberrypi:/etc/init.d|⇒ ls /root configurations root@raspberrypi:/etc/init.d|⇒ 

Also, was mache ich hier falsch? Gibt es etwas Besonderes an Himbeer-Pis, das ich vermisse? Ich weiß sicher, dass ich das schon mit Ubuntu und Debian gemacht habe und ich hatte noch nie so viel Ärger. Es macht mich verrückt.

0

2 Antworten auf die Frage

0
cgm123

(Sorry @ Gogeta70)

Ich habe tatsächlich Systemd verwendet. Hier ist ein Beispiel für einen Dropbox-Dienst, den ich zum Laufen gebracht habe, der von zwei Dingen abhängt:

[Unit]  Description=Dropbox as a system service After=local-fs.target network.target  [Service] User=me Restart=always ExecStart=/opt/dropbox/dropboxd Restart=on-failure RestartSec=1  [Install] WantedBy=default.target 

Ich benannte die Datei dropbox.serviceund legte sie ein/etc/systemd/system/

-1
Gala

Verwenden Sie systemd für das Service Management.

Okay, Sie haben meine Frage nicht wirklich beantwortet, aber nach langem Lesen habe ich schließlich erreicht, was ich wollte. Eine Sache, die ich gänzlich nicht tun konnte, bestand darin, eine Serviceeinheit von zwei Pfadeinheiten abhängig zu machen. Können Sie mich auf ein Dokument verweisen, das sich speziell mit Pfadeinheiten und / oder Abhängigkeiten von Einheiten befasst? cgm123 vor 7 Jahren 0
@ cgm123 Ich weiß, es ist zwei Jahre her, aber es wäre schön, wenn Sie die Lösung posten, die Sie als Antwort auf Ihre eigene Frage gefunden haben. Ich habe jetzt die gleichen Probleme wie du ... Gogeta70 vor 5 Jahren 0