NEWS
Pi3 Stretch, ioBroker macht keinen Autostart
-
Hallo zusammen,
ich setze gerade meinem Pi3 mit Stretch neu auf und habe Probleme mit dem Autostart.
Habe die Installation nach Anweisung http://www.iobroker.net/docu/?page_id=5106&lang=degemacht.
Bekomme bei "sudo systemctl status iobroker" folgendes:
● iobroker.service - LSB: starts ioBroker Loaded: loaded (/etc/init.d/iobroker.sh; generated; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2017-12-26 14:06:05 CET; 9min ago Docs: man:systemd-sysv-generator(8) Process: 429 ExecStart=/etc/init.d/iobroker.sh start (code=exited, status=203/EXEC) Dez 26 14:06:05 BrokerPi systemd[1]: Starting LSB: starts ioBroker... Dez 26 14:06:05 BrokerPi systemd[1]: iobroker.service: Control process exited, code=exited status=203 Dez 26 14:06:05 BrokerPi systemd[1]: Failed to start LSB: starts ioBroker. Dez 26 14:06:05 BrokerPi systemd[1]: iobroker.service: Unit entered failed state. Dez 26 14:06:05 BrokerPi systemd[1]: iobroker.service: Failed with result 'exit-code'.
Habe schon gesucht und auch schon in der "/etc/init.d/iobroker.sh" geschaut aber klappt trotzdem nicht.
Die iobroker.sh sieht so aus:
! ````
#!/bin/bashBEGIN INIT INFO
Provides: iobroker.sh
Required-Start: $network $local_fs $remote_fs
Required-Stop:: $network $local_fs $remote_fs
Default-Start: 2 3 4 5
Default-Stop: 0 1 6
Short-Description: starts ioBroker
Description: starts ioBroker
END INIT INFO
(( EUID )) && echo .You need to have root privileges.. && exit 1
PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
#NODECMD=@@node
NODECMD=/usr/bin/node
IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
RETVAL=0
IOBROKERUSER=root! start() {
export IOBROKER_HOME=/opt/iobroker
echo -n "Starting ioBroker"
sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start
RETVAL=$?
}
! stop() {
echo -n "Stopping ioBroker"
sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop
RETVAL=$?
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: iobroker {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
! ````Meine Versionen:
pi@BrokerPi:/ $ node -v v6.12.2 pi@BrokerPi:/ $ nodejs -v v6.12.2 pi@BrokerPi:/ $ npm -v 3.10.10
Kann mir jemand weiterhelfen?
Danke
-
Endlich…. Fehler gefunden.
Irgendwie hat sich ein Fehler in der /etc/init.d/iobroker.sh eingeschlichen.
Habe mal versucht die Datei iobroker.sh direkt auszuführen und bekam die Fehlermeldung:
pi@BrokerPi:/etc/init.d $ ./iobroker.sh -bash: ./iobroker.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
Konnte aber keine Auffälligkeiten am Interpreter feststellen, eingetragen war "#!/bin/bash"
Habe den Dateiinhalt gespeichert, Datei gelöscht und dann neu angelegt.
Siehe da…. jetzt läuft es.
-
-
Aber mit einem windows Editor geschrieben! `
Ja, von dem Problem habe ich gehört…. aber es war eine frische Installation nach Anleitung und ich war mit dem Editor nicht an der Datei, zumal ich wenn dann immer über Putty und nano editiere.
Naja wie dem auch sei.... es läuft wieder 8-)
-
So ich habe das ganze nochmal ein zweites mal probiert und das System ein zweites mal komplett neu installiert.
Siehe da - es ist wieder so das die iobroker.sh in der /etc/init.d nicht startet.
Habe zudem festgestellt das die iobroker.sh nicht ausführbar ist.
Kann das jemand mal gegenprüfen?
-
Hi Leuts,
hier genau das selbe.
root@io-broker-pi:~# systemctl status iobroker
● iobroker.service - LSB: starts ioBroker
Loaded: loaded (/etc/init.d/iobroker.sh; generated; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2017-12-30 14:04:42 CET; 16s ago
Docs: man:systemd-sysv-generator(8)
Process: 670 ExecStart=/etc/init.d/iobroker.sh start (code=exited, status=1/FAILURE)
Dez 30 14:04:42 io-broker-pi systemd[1]: Starting LSB: starts ioBroker…
Dez 30 14:04:42 io-broker-pi sudo[692]: root : unknown user: @@user
Dez 30 14:04:42 io-broker-pi iobroker.sh[670]: Starting ioBrokersudo: Unbekannter Benutzer: @@user
Dez 30 14:04:42 io-broker-pi iobroker.sh[670]: sudo: Regelwerks-Plugin konnte nicht initialisiert werden
Dez 30 14:04:42 io-broker-pi systemd[1]: iobroker.service: Control process exited, code=exited status=1
Dez 30 14:04:42 io-broker-pi systemd[1]: Failed to start LSB: starts ioBroker.
Dez 30 14:04:42 io-broker-pi systemd[1]: iobroker.service: Unit entered failed state.
Dez 30 14:04:42 io-broker-pi systemd[1]: iobroker.service: Failed with result 'exit-code'.
root@io-broker-pi:~#
ioBroker startet nicht, erst:
root@io-broker-pi:~# iobroker start
Starting iobroker controller daemon…
iobroker controller daemon started. PID: 18638
root@io-broker-pi:~#
startet ihn.
-
So, jetzt geht es bei mir.
wie weiter oben schon genannt:
pi@BrokerPi:/etc/init.d $ ./iobroker.sh
-bash: ./iobroker.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
Problem beseitigt
und die Rechte angepasst.
danach noch diese Änderung durchgef.
…
END INIT INFO
(( EUID )) && echo .You need to have root privileges.. && exit 1
PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid
NODECMD=@@node
NODECMD=/usr/bin/node
IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js
RETVAL=0
IOBROKERUSER=@@user
IOBROKERUSER=root
start() {
...
jetzt startet ioBroker sauber nach einem Reboot durch.
siehe:
root@io-broker-pi:~# systemctl status iobroker
● iobroker.service - LSB: starts ioBroker
Loaded: loaded (/etc/init.d/iobroker.sh; generated; vendor preset: enabled)
Active: active (running) since Sat 2017-12-30 14:20:43 CET; 13s ago
Docs: man:systemd-sysv-generator(8)
Process: 597 ExecStart=/etc/init.d/iobroker.sh start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/iobroker.service
├─ 932 iobroker.js-controller
├─1254 io.admin.0
├─1953 io.discovery.0
├─2489 io.tr-064.4
└─3113 /usr/bin/node /opt/iobroker/node_modules/iobroker.web/main.js 0 info
Dez 30 14:20:37 io-broker-pi systemd[1]: Starting LSB: starts ioBroker…
Dez 30 14:20:38 io-broker-pi sudo[606]: root : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js start
Dez 30 14:20:38 io-broker-pi sudo[606]: pam_unix(sudo:session): session opened for user root by (uid=0)
Dez 30 14:20:40 io-broker-pi iobroker.sh[597]: Starting ioBrokerStarting iobroker controller daemon…
Dez 30 14:20:43 io-broker-pi iobroker.sh[597]: iobroker controller daemon started. PID: 932
Dez 30 14:20:43 io-broker-pi sudo[606]: pam_unix(sudo:session): session closed for user root
Dez 30 14:20:43 io-broker-pi systemd[1]: Started LSB: starts ioBroker.
root@io-broker-pi:~#
-
Könnte wer nochmal schritt weise erklären ? wie er es behoben habt. Habe auch kein autostart mehr und verstehe nicht ganz was ihr gemacht habt.
-
Bitte auf jeden Fall bei allen Änderungen an Dateien keinen Windows-Editor benutzen.
Unter Windows sollte das Notepad++ verwendet werden, und der Zeilenumbruch auf UNIX gestellt sein.
Die Zeile:
@C-3po:-bash: ./iobroker.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden `
deutet darauf hin, dass diese Datei bereits mit einem Windows-Editor bearbeitet wurde.In der Installationsdatei ist der Windowsumbruch nicht drin!
Wo kommt der her?
Gruß
Rainer
-
bei mir kommt immer
pi@raspberrypi:~ $ /etc/init.d $ ./iobroker.sh -bash: /etc/init.d: Ist ein Verzeichnis
-
sorry war falsch in der zwischenablage
pi@raspberrypi:/etc/init.d $ ./iobroker.sh -bash: ./iobroker.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
pi@raspberrypi:/etc/init.d $ systemctl status iobroker ● iobroker.service - LSB: starts ioBroker Loaded: loaded (/etc/init.d/iobroker.sh) Active: failed (Result: exit-code) since Sa 2017-12-30 17:17:23 CET; 7min ago Process: 509 ExecStart=/etc/init.d/iobroker.sh start (code=exited, status=203/EXEC)
-
-bash: ./iobroker.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden ```` `
Da hat sich ein CR eingeschlichen. Wurde die Datei mal aktualisiert / modiziert ? Prüfe bitte Länge und Datum:
ls -l /etc/init.d/iobroker.sh
-
habe die iobroker.sh nochmal neu erzeugen lassen grade. aber halt selbe fehler.
root@raspberrypi:/etc/init.d# ls -l /etc/init.d/iobroker.sh -rwxrwxrwx 1 root root 1145 Dez 30 18:06 /etc/init.d/iobroker.sh
-
habe die iobroker.sh nochmal neu erzeugen lassen grade. `
Wie ?Die Datei ist 47 Byte zu groß.
-
#!/bin/bash ### BEGIN INIT INFO # Provides: iobroker.sh # Required-Start: $network $local_fs $remote_fs # Required-Stop:: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts ioBroker # Description: starts ioBroker ### END INIT INFO (( EUID )) && echo .You need to have root privileges.. && exit 1 PIDF=/opt/iobroker/node_modules/iobroker.js-controller/lib/iobroker.pid NODECMD=@@node IOBROKERCMD=/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js RETVAL=0 IOBROKERUSER=@@user start() { export IOBROKER_HOME=/opt/iobroker echo -n "Starting ioBroker" sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD start RETVAL=$? } stop() { echo -n "Stopping ioBroker" sudo -u ${IOBROKERUSER} $NODECMD $IOBROKERCMD stop RETVAL=$? } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo "Usage: iobroker {start|stop|restart}" exit 1 ;; esac exit $RETVAL
das ist der inhalt…
-
das ist der inhalt… `
…und der enthält 47 Zeilen. Mit welchem Editor wird der Inhalt angezeigt und abgespeichert ? -
Nodepad++
aber wie gesagt die habe ich jetzt schon 2mal frisch erzeugen lassen ohne sie überhaupt zu öffnen.
-
bei mir unter armbian(!) ist die Ausgabe:
root@linaro-alip:~# ls -l /etc/init.d/iobroker.sh -rwxr-xr-x 1 root root 1098 Nov 21 21:36 /etc/init.d/iobroker.sh
Gruß
Rainer
-
und wenn ich richtig liege (was hier auf keinen Fall stimmen muss!!!) ist es diese Datei:
https://github.com/ioBroker/ioBroker/bl … obroker.sh
von März 2016 und seitdem nicht geändert worden.
Kann es sein, dass Raspbian 2017-11-29 da Mist baut?
Gruß
Rainer
-
Dann konvertiere die Datei vom DOS- in das Linux-Format:
mv /etc/init.d/iobroker.sh /etc/init.d/iobroker.dos tr -d '\r' < /etc/init.d/iobroker.dos > /etc/init.d/iobroker.sh
oder
cd /etc/init.d mv iobroker.sh iobroker.dos tr -d '\r' < iobroker.dos > iobroker.sh ls -l iob*