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?
Hi,
was gibt ls -l /opt/fhem/log/fhem-2018-09.log
zurück?
Gruß Otto
ls -l gibt folgendes zurück:
-rw-r--r-- 1 fhem dialout 2192414 Sep 15 00:36 /opt/fhem/log/fhem-2018-09.log
Moin,
es klang irgendwie danach als ob die Rechte fehlen. War offenbar die falsche Idee.
FHEM an sich läuft aber?
Gruß Otto
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?
Mir ist nicht ganz klar wieso fhem durch rc-local gestartet wird? Normalerweise wird der doch mit systemd direkt gestartet?
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
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
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.