FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: iceman am 14 September 2018, 12:05:46

Titel: systemd kann rc-local service nicht starten
Beitrag von: iceman am 14 September 2018, 12:05:46
Hallo zusammen,

ich habe auf meinem Ubuntu 16.04.5 LTS Server das Problem, dass systemd den rc-local.service nicht starten kann und laut journalctl -xe ist fhem daran schuld:


-- Unit rc-local.service has begun starting up.
Sep 14 11:59:03 via rc.local[24172]: Can't open ./log/fhem-2018-09.log: No such file or directory at /opt/fhem/fhem.pl line 2649.
Sep 14 11:59:03 via systemd[1]: rc-local.service: Control process exited, code=exited status=2
Sep 14 11:59:03 via systemd[1]: Failed to start /etc/rc.local Compatibility.
-- Subject: Unit rc-local.service has failed


Die log datei existiert auch, an dieser Stelle: /opt/fhem/log

ich benutze die aktuelle FHEM Version. Habe heute erst das Update durchgeführt. Den Fehler hatte ich aber auch schon vor dem Update.

Kann mir hier jemand helfen? Wir kann ich den Fehler beheben?
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: Otto123 am 14 September 2018, 13:31:10
Hi,

was gibt ls -l /opt/fhem/log/fhem-2018-09.logzurück?

Gruß Otto
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: iceman am 15 September 2018, 00:48:32
ls -l gibt folgendes zurück:

-rw-r--r-- 1 fhem dialout 2192414 Sep 15 00:36 /opt/fhem/log/fhem-2018-09.log
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: Otto123 am 15 September 2018, 10:51:48
Moin,

es klang irgendwie danach als ob die Rechte fehlen. War offenbar die falsche Idee.
FHEM an sich läuft aber?

Gruß Otto
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: iceman am 15 September 2018, 11:30:38
Ja das FHEM läuft und schreibt auch in das Log.

Mich wundert es auch, dass rc-local nicht auf die Datei zugreifen kann. Der Service wird doch mit root Rechten von systemd gestartet oder? 

Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: Otto123 am 15 September 2018, 11:36:57
Mir ist nicht ganz klar wieso fhem durch rc-local gestartet wird? Normalerweise wird der doch mit systemd direkt gestartet?
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: iceman am 15 September 2018, 11:59:47
Jaaaa!  :D

Danke Otto. Das ist es.

Klar systemd startet FHEM. Darum startet es auch nach einem Reboot trotz rc-local Fehler. In RC-local war wahrscheinlich noch eine Altlast. Ich hab fhem jetzt aus rc.local rausgeworfen.

Sorry, da stand ich wohl auf dem Schlauch.

Danke
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: MadMax-FHEM am 15 September 2018, 12:00:53
Nur noch eine Idee, da die Rechte passen und rc-local eigentlich unter root ausgeführt wird (sollten Rechte eh "egal" sein):

vielleicht ist ./log/fhem-2018-09.log halt in dem Fall nicht gleich /opt/fhem/log/fhem-2018-09.log

Kommt ja drauf an "wo" der Ausführende grad "steht"...

Aber wie bereits geschrieben ist das Ganze etwas eigenartig...
...und nur eine weitere Idee...

EDIT: gut somit hat sich meine Idee erledigt ;)

Gruß, Joachim
Titel: Antw:systemd kann rc-local service nicht starten
Beitrag von: iceman am 15 September 2018, 14:21:28
In der Tat MadMax. Ich hab just for fun im rc.local dern Aufruf


perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg


durch:


perl /opt/fhem/fhem.pl fhem.cfg


ersetzt.

Und kaum zu glauben, damit geht's. Ich kann mir das nicht erklären.