Hallo,
nachdem meine SD Karte im Pi Probleme machte habe ich die Karte durch ein SSD ersetzt und den Raspberry neu aufgesetzt. FHEM installiert und und ein Fhem Backup eingespielt.
Nach einen Neustart bekam ich diese Fehlermeldung
Job for fhem.service failed because the control process exited with error code.
See "systemctl status fhem.service" and "journalctl -xe" for details.
pi@raspberrypi:~ $ service fhem status
● fhem.service - FHEM Home Automation
Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2023-02-25 22:30:21 CET; 1min 41s ago
Process: 9184 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=13)
CPU: 307ms
Feb 25 22:30:21 raspberrypi systemd[1]: fhem.service: Scheduled restart job, restart counter is at 5.
Feb 25 22:30:21 raspberrypi systemd[1]: Stopped FHEM Home Automation.
Feb 25 22:30:21 raspberrypi systemd[1]: fhem.service: Start request repeated too quickly.
Feb 25 22:30:21 raspberrypi systemd[1]: fhem.service: Failed with result 'exit-code'.
Feb 25 22:30:21 raspberrypi systemd[1]: Failed to start FHEM Home Automation.
journalctl -xe enthält nur Meldungen zu zigbee2mqtt aber keine Infos zu Fhem.
Hat jemand einen guten Tipp was hier schiefläuft ?
Danke & Grüße
Was steht denn im FHEM Log?
Endet das Log wirklich mit einer abgeschnittenen Zeile?
Ich denke, dir fehlen ein paar Perl-Module, die auf deinem alten RPi drauf waren:
2023.02.25 09:25:07 0: Can't locate Net/SIP.pm in @INC (you may need to install the Net::SIP module)
2023.02.25 09:29:25 2: FRITZBOX Fritzbox: TR064_Init.4461 Cannot use TR-064. Perl modul Soap::Lite is missing on this system. Please install.
Möglicherweise noch weitere.
Das File ist wohl zu groß ....
das war eine der letzten Fehlermeldungen:
2023.02.25 19:04:12 1: WriteStatefile: Cannot open ./log/fhem.save: Permission denied
Das SIP Module hatte ich noch nicht wieder installiert, aber der Rest funktionierte ... bis zum Neustart
Ich habe den Benutzername bei Neuinstallation mit"pi" angegeben.... Eine blöde Idee ??
Ok, also die fehlenden Perl-Module werden wohl dazu führen, dass einige Module in FHEM nicht funktionieren aber ist dann wohl nicht der Grund, warum FHEM sich beendet.
Das wird dann wohl der Exit-Grund sein:
2023.02.25 19:04:12 1: WriteStatefile: Cannot open ./log/fhem.save: Permission denied
Je nach dem, wie du das Backup wieder eingespielt hast, passen jetzt die Permissions der FHEM-Dateien nicht mehr zu deinem neues OS. Der Prozess, mit dem FHEM läuft, sollte Lese/Schreibzugriff auf den FHEM-Ordner haben.
Im Idealfall läuft FHEM als eigener Benutzer (zB "fhem") und dann sollten auch die Dateien diesem Benutzer gehören. Kannst du zb übergeben mit "chown -R fhem:fhem". Aber erst in den FHEM-Ordner wechseln!!
Zitat von: Müller am 25 Februar 2023, 22:58:05
Ich habe den Benutzername bei Neuinstallation mit"pi" angegeben.... Eine blöde Idee ??
Der konkrete Name spielt da erstmal keine Rolle. Linux speichert intern solche Permissions anhand von UserIDs, welche nur Zahlen sind. Ruf mal in dem FHEM-Order "ls -la" auf und guck, wem die Dateien gehören. Aber wie auch immer: du solltest auf dem neuen System einen Benutzer für FHEM anlegen und dann die Dateirechte an diesen übertragen.
Ok, ich denke da kommen wir der Antwort näher
pi@raspberrypi:/opt/fhem $ ls -la
insgesamt 884
drwxrwxrwx 11 pi pi 4096 25. Feb 08:22 .
drwxrwxrwx 6 pi pi 4096 25. Feb 09:30 ..
-rwxr-xr-x 1 pi pi 1430 10. Apr 2022 aws.cer
-rwxr-xr-x 1 pi pi 1828 10. Apr 2022 aws.key
drwxr-xr-x 2 pi pi 4096 24. Feb 23:19 backup
-rwxr-xr-x 1 pi pi 355663 29. Dez 2020 CHANGED
-rwxr-xr-x 1 pi pi 41434 29. Dez 2020 configDB.pm
drwxr-xr-x 46 pi pi 4096 13. Dez 2020 contrib
drwxr-xr-x 3 pi pi 4096 13. Dez 2020 demolog
drwxr-xr-x 4 pi pi 4096 13. Dez 2020 docs
drwxr-xr-x 6 pi pi 32768 29. Dez 2020 FHEM
-rwxr-xr-x 1 pi pi 140888 21. Aug 2022 fhem.cfg
-rwxr-xr-x 1 pi pi 25544 26. Jan 2020 fhem.cfg.demo
-rwxr-xr-x 1 pi pi 166396 29. Dez 2020 fhem.pl
-rwxr-xr-x 1 pi pi 18092 13. Dez 2020 GPL_V2.txt
drwxr-xr-x 3 pi pi 4096 13. Dez 2020 lib
drwxr-xr-x 2 pi pi 12288 25. Feb 20:45 log
-rwxr-xr-x 1 pi pi 42746 13. Dez 2020 MAINTAINER.txt
-rwxr-xr-x 1 pi pi 935 26. Jan 2020 README_DEMO.txt
drwxr-xr-x 4 pi pi 4096 13. Dez 2020 restoreDir
drwxr-xr-x 9 pi pi 4096 13. Dez 2020 www
chown -R fhem:fhem
chown: fehlender Operand nach ,,fhem:fhem"
,,chown --help" liefert weitere Informationen.
was muss da noch dahinter schreiben?
-H wenn ein Kommandozeilenargument eine symbolische
Verknüpfung auf ein Verzeichnis ist, abarbeiten
-L jede gefundene symbolische Verknüpfung auf ein
Verzeichnis abarbeiten
-P überhaupt keinen symbolischen Verknüpfungen folgen
(Voreinstellung)
Achso, richtig, sorry. Gib am besten als Parameter den kompletten Pfad an (dann ist auch egal, in welchem Verzeichnis du dich gerade befindest):
chown -R fhem:fhem /pfad/zu/meinem/fhem
pi@raspberrypi:~ $ sudo chown -R fhem:fhem /opt/fhem/FHEM
chown: ungültige Gruppe: ,,fhem:fhem"
chown -R fhem:dialout /pfad/zu/meinem/fhem
sollten die richtigen permissions sein :)
vielen Dank, jetzt läuft es wieder.
Dann hast du offenbar den fhem-Benutzer angelegt ohne eine gleichnamige Gruppe. Das mit dem "dialout" kannst du schon machen, aber solltest dann darauf achten, welche anderen Benutzer sich in dieser Gruppe befinden bzw. welche du in Zukunft dort hinzufügst, weil die dann automatisch auch Zugriff auf alle FHEM-Dateien bekommen.
Die Standardgruppe des Users fhem bei einer Standardinstallation ist dialout.
Und: es gibt dabei gar keine Gruppe fhem.
EDIT: Standardinstallation debian.fhem.de -> the easy way mittels apt
Wenn man es dem OS überlassen will, dann wäre folgendes korrekt:
sudo chown -R fhem: /Pfad/zu/fhem
EDIT: @Müller wenn nach dem Einspielen des Backups die Rechte nicht passen, würde ich da noch mal prüfen. Entweder falsches Erstellen des Backups oder Fehler beim Zurückspielen...
Gruß, Joachim
Man sollte das Rechtemanagement mMn möglichst restriktiv einstellen und dann bei Bedarf Rechte vergeben. Alle FHEM-Dateien der dialout-Gruppe übergeben, würde ich nicht tun.