Endlich mal FHEM updaten - Leider nur Probleme

Begonnen von visionsurfer, 13 April 2017, 19:45:44

Vorheriges Thema - Nächstes Thema

visionsurfer

Hallo,

ich will seit Wochen endlich mal mein FHEM auf den aktuellsten Stand bringen.
Also vorher eine Sicherung gemacht und jetzt gerade den Befehl update gestartet.

Leider kommt dann nach einer Weile folgender Fehler:


2017.04.13 19:28:20 1 : UPD FHEM/10_KNX.pm
2017.04.13 19:28:20 1 : open ./FHEM/10_KNX.pm failed: Keine Berechtigung, trying to restore the previous version and aborting the update


Ich habe FHEM auf einem Raspberry laufen. Dort läuft alles mit dem Benutzer "pi"

Ich weiß das mein Problem irgendwas mit den rechten zu tun hat. Da mein Linuxwissen sehr dürftig ist, weiß ich nur nicht, wie ich es zum laufen bringen kann, das ein Update sauber durchläuft ?

Kann mir jemand bitte helfen ?

Grüße,
Visionsurfer

Frank_Huber

Zitat von: visionsurfer am 13 April 2017, 19:45:44
Hallo,

ich will seit Wochen endlich mal mein FHEM auf den aktuellsten Stand bringen.
Also vorher eine Sicherung gemacht und jetzt gerade den Befehl update gestartet.

Leider kommt dann nach einer Weile folgender Fehler:


2017.04.13 19:28:20 1 : UPD FHEM/10_KNX.pm
2017.04.13 19:28:20 1 : open ./FHEM/10_KNX.pm failed: Keine Berechtigung, trying to restore the previous version and aborting the update


Ich habe FHEM auf einem Raspberry laufen. Dort läuft alles mit dem Benutzer "pi"

Ich weiß das mein Problem irgendwas mit den rechten zu tun hat. Da mein Linuxwissen sehr dürftig ist, weiß ich nur nicht, wie ich es zum laufen bringen kann, das ein Update sauber durchläuft ?

Kann mir jemand bitte helfen ?

Grüße,
Visionsurfer
Prüfe mal in der Konsole die Rechte der Datei. Dann evtl Benutzer und Gruppe anpassen.

Gesendet von meinem JY-S3 mit Tapatalk


Thorsten Pferdekaemper

Zitat von: visionsurfer am 13 April 2017, 19:45:44Ich habe FHEM auf einem Raspberry laufen. Dort läuft alles mit dem Benutzer "pi"
Das ist etwas ungewöhnlich. Normalerweise läuft FHEM unter dem Benutzer fhem. Bist Du Dir ganz sicher, dass bei Dir FHEM unter pi läuft?
Gruß,
   Thorsten
FUIP

Frank_Huber

Zitat von: Thorsten Pferdekaemper am 14 April 2017, 08:15:43
Das ist etwas ungewöhnlich. Normalerweise läuft FHEM unter dem Benutzer fhem. Bist Du Dir ganz sicher, dass bei Dir FHEM unter pi läuft?
Gruß,
   Thorsten
Ich denke er meint den User mit dem er sich an der Konsole anmeldet. Der ist ja standardmäßig "pi"

Gesendet von meinem JY-S3 mit Tapatalk


visionsurfer

Mahlzeit,

ja stimmt. Ich meine den User, wie ich mich auf der Konsole im Raspberry anmelde.

Im Augenblick muss ich mein FHEM erst mal retten.

@Frank_Huber
Wenn ich mein FHEM wieder gerettet habe, würde ich trotzdem gerne wissen wollen, wie es dann richtig klappt. Wie kann ich die Rechte der Datei überprüfen und die Benutzer und Gruppen anpassen. Ich würde es gerne auch für die Zukunft wissen und verstehen wollen.

Grüße,
Visionsurfer

Benni

Zitat von: Frank_Huber am 14 April 2017, 10:58:02
Ich denke er meint den User mit dem er sich an der Konsole anmeldet. Der ist ja standardmäßig "pi"

Aber bei der FHEM-Installation wird normalerweise ein User mit namen "fhem" angelegt.
Findet FHEM beim Starten (per Init-Script) diesen User, dann läuft es im Kontext dieses Users und nicht im Kontext des Users "pi". Also müssen auch die Dateiberechtigungen für den User "fhem" passen, nicht für den User "pi".
Normalerweise sind dann die FHEM-Dateien der Gruppe "dialout" und dem User "fhem" zugeordnet.

Diese Zuordnung kann ggf. mit dem Linux-Kommando "chown" (change owner) korrigiert werden, sollte sie nicht passen. Die Dateiberechtigungen bekommt man mit

ls -l

auf der Shell angezeigt.

Prüfen, mit welchem User FHEM gerade läuft kann man (in der shell)  bspw. mittels


ps aux | grep fhem.pl


Damit bekommt man alle Prozesse aufgelistet, die "fhem.pl" enthalten. Das sollten normalerweise nur 2 sein, nämlich der, denn wir gerade selbst als Kommando ausgeführt haben und eben der FHEM-Prozess. In der ersten Spalte wird der User angezeigt, unter dem der Prozess läuft.

Beispiel:

Zitat
pi    5325  0.0  0.0   9904  2056 pts/0    S+   16:10   0:00 grep fhem.pl
fhem     32162  1.6  3.5 485768 279076 ?       S    Apr03 269:19 /usr/bin/perl fhem.pl configDB

(In der 2. Zeile, das ist der FHEM-Prozess)

visionsurfer

Hi Benni,

Danke für die Erklärung. So versteh ich zumindest auch was :) Damit ich dann in der Zukunft weiß wie es geht.

Also bei mir sieht die Zeile so aus:


pi@raspberrypi:/opt/fhem/FHEM $ ps aux | grep fhem.pl
fhem       646 10.0  6.9  72008 65912 ?        S    16:16   1:27 perl fhem.pl fhem.cfg
pi         862  0.0  0.1   4296  1884 pts/0    S+   16:30   0:00 grep --color=auto fhem.pl
pi@raspberrypi:/opt/fhem/FHEM $


Sieht für mich meiner Meinung nach in Ordnung aus.

Ich habe mir dann mal mit ls -l im Verzeichnis FHEM alles angeschaut. Dort steht bei fast allen Dateien fhem dialout dabei.

ABER, bei ein paar Dateien steht nur "pi". Unter anderem auch bei der 10_KNX.pm wo er gestern stehen geblieben ist, als ich ein Update machen wollte.

Kann ich das ändern ? So das wieder wie bei allen anderen, das richtige steht ?
Kann ich dann normal das Update auf die 5.8 durchführen ? Ich habe mir den Hinweis durchgelesen. Muss ich danach in meinem FHEM Setup irgendwas ändern ?

Aber erst mal muss ich die Rechte der Dateien richtig bekommen.

Grüße,
Visionsurfer

Benni

#7
Ja, das kannst du, wie schon erwähnt auf der Shell mit chown richten.

Im konkreten Fall also:


chown fhem:dialout 10_KNX.pm


eventuell muss noch ein sudo davor.

Analog dann auch für andere Dateien.
Am Setup musst du nichts ändern.

Ein Update auf 5.8 gibt es in dem Sinne sowieso nicht. 5.8 ist nur der Feature-Level, der eben ab einem bestimmten Update auf 5.8 gesetzt wird. Grundsätzlich ist das auch schon vorher möglich und in gewissem Rahmen sogar ein zurücksetzen des Levels möglich.
Bei mir steht seit kurzem der Featurelevel auf 9.9 So werden bei mir automatisch die neuesten Features zukünftiger, bereits implementierter Feature-Level-Funktionen aktiv ;D  (Würde ich aber nicht grundsätzlich jedem raten!)

visionsurfer

Hi,

Ok. Danke. Und dann entsprechend für jede Datei, wo es benötigt wird?

Wenn die Rechte richtig sind und ich ein Update mache, kann ich das im laufenden Betrieb?
Oder sollte man vorher was stoppen oder so?

Grüße,
Visionsurfer

Thorsten Pferdekaemper

Hi,
das update macht man ganz normal im "laufenden Betrieb". Danach muss man normalerweise halt ein shutdown restart machen. Vorher ist es aber gut, wenn man wartet, dass das update wirklich fertig ist, inklusive das Aufbauen der Commandref.
Gruß,
   Thorsten
FUIP

Frank_Huber

 Der "falsche" User is meist dann drin wenn man ein Modul selbst in die fhem Installation reinkopiert.
Von daher am besten bei jeder manuell kopierten Datei gleich die Rechte anpassen.

Grüße
Frank



Gesendet von meinem JY-S3 mit Tapatalk


Benni

Zitat von: visionsurfer am 14 April 2017, 18:25:43
Oder sollte man vorher was stoppen oder so?

Nö! Nach erfolgreichem update halt FHEM neu starten (shutdown restart in FHEM)

Thorsten war schneller :)

visionsurfer

Hi,

Danke. Jetzt hat alles geklappt. Update ist erfolgreich durchgelaufen.

Nun habe ich nur das Problem das meine Alexa nicht mehr geht. Ich kann die Geräte nicht mehr wie bisher steuern. Hab dazu schon ein Thread in der Gruppe Sprachsteuerung geöffnet. Das Log sieht komisch aus, aber sagt mir leider erst mal nichts.

Grüße,
Visionsurfer

Benni

Zitat von: visionsurfer am 14 April 2017, 19:26:41
Hab dazu schon ein Thread in der Gruppe Sprachsteuerung geöffnet.

Benutz doch bitte erst mal die Foren-Suche!

Wenn du erst seit jetzt auf Featruelevel 5.8 bist, ist das csrfToken wahrscheinlich das, was dir dabei Probleme bereitet:

https://forum.fhem.de/index.php?topic=67433.0

visionsurfer

Hi,

ok. Sorry. Mein Fehler. Ja du hast recht. Ich hatte nicht tief genug geschaut und gesucht.
Tausend Dank. Funktioniert nun wieder problemlos.

Grüße,
Visionsurfer