Hauptmenü

Updateprobleme

Begonnen von Superposchi, 29 April 2021, 11:24:10

Vorheriges Thema - Nächstes Thema

Superposchi

Hallo, ich habe vor einigen Tagen gemerkt, dass sowohl "FHEM Installer Status" als auch "Node.js Package Update Status" beides ein rotes Ausrufezeichen anzeigt, also offensichtlich nicht aktuell ist und Probleme hat.
Der Start der Update verpufft wirkungslos. Gleichzeitig ist mit aufgefallen, dass ich kein Spotify meht über meine Nest-Lautsprecher abgespielt bekomme. Keine Ahnung ob da ein Zusammenhang besteht.

Was kann ich zur Fehleranalyse machen um dem Problem auf den Grund zu gehen?

Hier das List des "Fhem Installer Status":
Internals:
   .FhemMetaInternals 1
   .triggerUsed 1
   FUUID      5fb930b9-f33f-793a-304a-092c55a64a79d3bf
   FVERSION   98_Installer.pm:v0.5.7-s20949/2020-01-12
   NAME       fhemInstaller
   NOTIFYDEV  global,fhemInstaller
   NR         17
   NTFY_ORDER 50-fhemInstaller
   STATE      error 'installPerl Crypt::Rijndael_PP'
   TYPE       Installer
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   .attrtocr:
     .*
   .fhem:
     installer:
       cmd        installPerl Crypt::Rijndael_PP
       debug      1
       installPerlEnforced
       installPerlNoTest
       installPerlReinstall
       errors:
         HASH(0x5d1f7ba0)
       installedPerlPackages:
         success    0
         error:
           HASH(0x5d1f7ba0)
       listedPerlPackages:
         App::cpanminus:
           missing    /usr/local/bin/cpanm
           version    1.704400
         CPAN::DistnameInfo:
           missing    /usr/local/man/man3/CPAN::DistnameInfo.3pm
           version    0.120
         CPAN::Plugin::Sysdeps:
           missing    /usr/local/bin/cpan-sysdeps
           version    0
         CryptX:
           version    0.069
         ExtUtils::Config:
           missing    /usr/local/man/man3/ExtUtils::Config.3pm
           version    0
         ExtUtils::Helpers:
           missing    /usr/local/man/man3/ExtUtils::Helpers.3pm
           version    0
         ExtUtils::InstallPaths:
           missing    /usr/local/man/man3/ExtUtils::InstallPaths.3pm
           version    0
         Module::Build:
           version    0.423100
         Module::Build::Tiny:
           missing    /usr/local/man/man3/Module::Build::Tiny.3pm
           version    0
         Perl:
           version    5.028001
         Perl::PrereqScanner::NotQuiteLite:
           missing    /usr/local/bin/scan-perl-prereqs-nqlite
           version    0
         Protocol::WebSocket:
           version    0.260
         Regexp::Trie:
           missing    /usr/local/man/man3/Regexp::Trie.3pm
           version    0
         URI::cpan:
           missing    /usr/local/man/man3/URI::cpan.3pm
           version    0
         cpan::outdated:
           missing    /usr/local/bin/cpan-outdated
           version    0
         local::lib:
           missing    /usr/local/man/man3/POD2::DE::local::lib.3pm
           version    2.000024
   READINGS:
     2021-04-29 11:14:04   .installedListPerl {"success":0,"error":[{"code":"E403","detail":"sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:\n<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/local/bin/cpanm *</pre>","summary":"Forbidden - passwordless sudo permissions required"}]}
     2021-03-01 17:58:24   .packageListPerl {"listedPerl":{"ExtUtils::Config":{"missing":"/usr/local/man/man3/ExtUtils::Config.3pm","version":0},"URI::cpan":{"version":0,"missing":"/usr/local/man/man3/URI::cpan.3pm"},"CPAN::Plugin::Sysdeps":{"missing":"/usr/local/bin/cpan-sysdeps","version":0},"Regexp::Trie":{"missing":"/usr/local/man/man3/Regexp::Trie.3pm","version":0},"Protocol::WebSocket":{"version":"0.260"},"Perl::PrereqScanner::NotQuiteLite":{"version":0,"missing":"/usr/local/bin/scan-perl-prereqs-nqlite"},"Module::Build::Tiny":{"version":0,"missing":"/usr/local/man/man3/Module::Build::Tiny.3pm"},"Perl":{"version":"5.028001"},"CPAN::DistnameInfo":{"version":"0.120","missing":"/usr/local/man/man3/CPAN::DistnameInfo.3pm"},"App::cpanminus":{"missing":"/usr/local/bin/cpanm","version":"1.704400"},"cpan::outdated":{"missing":"/usr/local/bin/cpan-outdated","version":0},"ExtUtils::Helpers":{"version":0,"missing":"/usr/local/man/man3/ExtUtils::Helpers.3pm"},"CryptX":{"version":"0.069"},"local::lib":{"version":"2.000024","missing":"/usr/local/man/man3/POD2::DE::local::lib.3pm"},"Module::Build":{"version":"0.423100"},"ExtUtils::InstallPaths":{"version":0,"missing":"/usr/local/man/man3/ExtUtils::InstallPaths.3pm"}},"error":[{"detail":"sh: 1: sudo: not found","summary":"Not Found - sudo is not installed","code":"E404"}]}
     2020-11-21 16:22:37   cpanminusVersion 1.7044
     2021-04-29 11:13:16   installedPerl   error
     2020-12-01 02:41:27   outdatedPerl    check completed
     2020-11-21 16:22:37   perlVersion     5.028001
     2021-04-29 11:14:04   state           error 'installPerl Crypt::Rijndael_PP'
     2020-11-21 16:23:20   updatesAvailablePerl 0
Attributes:
   alias      FHEM Installer Status
   devStateIcon .*updates.available:security@red:outdated up.to.date:security@green:outdated .*outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red
   event-on-change-reading .*
   group      Update
   icon       system_fhem
   room       System
   timestamp-on-change-reading .*
   verbose    4


Und hier das List von "Node.js Package Update Status":
Internals:
   .FhemMetaInternals 1
   DEF        localhost
   FUUID      5fb930b8-f33f-793a-eb28-2a416f3146aea249
   FVERSION   42_npmjs.pm:v1.1.6-s20933/2020-01-10
   HOST       localhost
   NAME       fhemServerNpm
   NOTIFYDEV  global,fhemServerNpm
   NR         16
   NTFY_ORDER 50-fhemServerNpm
   STATE      error 'update npm@7.11.1'
   TYPE       npmjs
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   .attrtocr:
     .*
   .fhem:
     npm:
       cmd        update npm@7.11.1
       debug      1
       host       localhost
       npmglobal  1
       errors:
         code       E403
         detail     sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:
<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *</pre>
         summary    Forbidden - passwordless sudo permissions required
       installedpackages:
         error:
           code       E403
           detail     sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:
<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *</pre>
           summary    Forbidden - passwordless sudo permissions required
       listedpackages:
         name       lib
         dependencies:
           gassistant-fhem:
             resolved   https://registry.npmjs.org/gassistant-fhem/-/gassistant-fhem-3.0.3.tgz
             version    3.0.3
           npm:
             resolved   https://registry.npmjs.org/npm/-/npm-7.5.4.tgz
             version    7.5.4
       nodejsversions:
         ares       1.15.0
         brotli     1.0.7
         cldr       35.1
         http_parser 2.9.4
         icu        64.2
         modules    64
         napi       7
         nghttp2    1.41.0
         node       10.23.3
         openssl    1.1.1i
         tz         2019c
         unicode    12.1
         uv         1.34.2
         v8         6.8.275.32-node.59
         zlib       1.2.11
       outdatedpackages:
         npm:
           current    7.5.4
           dependent  global
           latest     7.11.1
           location   /usr/lib/node_modules/npm
           wanted     7.11.1
       updatedpackages:
         error:
           code       E403
           detail     sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:
<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *
  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *</pre>
           summary    Forbidden - passwordless sudo permissions required
   READINGS:
     2021-04-29 11:12:01   .installedList  {"error":{"summary":"Forbidden - passwordless sudo permissions required","detail":"sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:\n<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *\n  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *\n  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *</pre>","code":"E403"}}
     2021-04-29 10:29:44   .packageList    {"listed":{"name":"lib","dependencies":{"gassistant-fhem":{"resolved":"https://registry.npmjs.org/gassistant-fhem/-/gassistant-fhem-3.0.3.tgz","version":"3.0.3"},"npm":{"resolved":"https://registry.npmjs.org/npm/-/npm-7.5.4.tgz","version":"7.5.4"}}},"versions":{"icu":"64.2","v8":"6.8.275.32-node.59","http_parser":"2.9.4","uv":"1.34.2","nghttp2":"1.41.0","openssl":"1.1.1i","cldr":"35.1","zlib":"1.2.11","modules":"64","node":"10.23.3","ares":"1.15.0","napi":"7","unicode":"12.1","brotli":"1.0.7","tz":"2019c"},"outdated":{"npm":{"current":"7.5.4","dependent":"global","wanted":"7.11.1","location":"/usr/lib/node_modules/npm","latest":"7.11.1"}}}
     2021-04-29 11:12:23   .updatedList    {"error":{"code":"E403","detail":"sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:\n<pre>  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *\n  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *\n  fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *</pre>","summary":"Forbidden - passwordless sudo permissions required"}}
     2021-04-18 15:29:21   installed       error
     2021-02-16 10:38:24   nodejsVersion   10.23.3
     2021-02-16 11:33:36   outdated        check completed
     2021-04-29 11:12:23   state           error 'update npm@7.11.1'
     2021-04-18 15:28:42   updated         error
     2021-02-22 23:02:55   updatesAvailable 1
   helper:
     lastSync   2021-04-29
Attributes:
   alias      Node.js Package Update Status
   devStateIcon npm.updates.available:security@red:outdated npm.is.up.to.date:security@green:outdated .*npm.outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red
   event-on-change-reading .*
   group      Update
   icon       npm-old
   room       System
   timestamp-on-change-reading .*
   verbose    4


Im letzten List sehe ich zb schon irgendwas mit einem fehlenden Passwort, aber mir sagt die Ausgabe nichts.

kadettilac89

du solltest einen passenden Titel wählen. Es sind 2 verschiedene Module, lt. Doku auch in 2 verschiedenen Foren, eines ist "unterstützende Dienste" das andere "Sonstige Systeme"

Logeinträge? Fehlermeldungen? Verbose 5?

Hier manuell was geändert?

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set<br /><br />You may add the following lines to /etc/sudoers.d/fhem:


Ich gehe davon aus, dass du immer noch Fhem in Docker betreibst. Das einfachste ist sicherlich den Container mit bestehender Config und Files neu zu erstellen.

Superposchi

Verbose steht auf 4, kann ich gerne umstellen falls notwendig.
Fehlermeldungen gibt es soweit ich sehe keine, es sei denn es steht etwas im Log - das schaue ich nicht immer komplett durch, da dort nur ein einziges Durcheinander herrscht. Die Log muss ich nachreichen, bekomme im Moment nichts hochgeladen.

Zitatdu solltest einen passenden Titel wählen.
Wenn mir was besseres einfallen würde, würde ich das sicher nehmen, aber es ist ja ein Problem mit dem Update dieser beiden Devices.

ZitatEs sind 2 verschiedene Module, lt. Doku auch in 2 verschiedenen Foren, eines ist "unterstützende Dienste" das andere "Sonstige Systeme"
Mag sein, aber macht es Sinn, dass gleiche Problem - das wahrscheinlich auch zusammenhängt - doppelt an zwei völlig verschiedenen Stellen im Forum zu haben?

ZitatHier manuell was geändert?
Nein, es wurde nichts geändert.

ZitatIch gehe davon aus, dass du immer noch Fhem in Docker betreibst. Das einfachste ist sicherlich den Container mit bestehender Config und Files neu zu erstellen.
Ja das stimmt. Aber es sollte doch Ziel sein, den Fehler zu bestimmen und zu beseitigen statt immer das System neu aufzusetzen - was ja auch nicht ohne einiges an Arbeit zu bewerkstelligen ist.

kadettilac89

Zitat von: Superposchi am 29 April 2021, 15:14:30
Ja das stimmt. Aber es sollte doch Ziel sein, den Fehler zu bestimmen und zu beseitigen statt immer das System neu aufzusetzen - was ja auch nicht ohne einiges an Arbeit zu bewerkstelligen ist.
OK, war ja nur ein Hinweis. Vielleicht schaut Loredo ja hier mal rein.

Container neu erzeugen, viel Arbeit? Ich kann nur von Docker-Compose sprechen ... 5 Min max. incl. Wartezeit bis Fhem neu gestartet ist.

Wernieman

Und vor allem ist das eigentlich der Sinn von Conainer. Anstatt Update ein "New Clean". Bei einem BearMetal-System würde ich Dir zustimmen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Superposchi

Naja, alleine das raussuchen der Einstellungen die beim Anlegen gemacht werden müssen kostet mich als nicht versierten User schon 20-30 Minuten.
Klar der Container ist schnell angelegt, aber da hängt - zumindest bei mir im NAS - etwas mehr mit dran.

Außerdem nützt es ja nichts wenn die Ursache für den Fehler nicht geklärt ist und dieser dann nach einigen Wochen erneut auftritt und sich das Neuaufsetzen womöglich zu einer Dauerfunktion entwickelt.

Ich würde lieber die Ursache finden oder zumindest verstehen, damit ich sie vermeiden kann.

kadettilac89

Zitat von: Superposchi am 30 April 2021, 14:57:21
Naja, alleine das raussuchen der Einstellungen die beim Anlegen gemacht werden müssen kostet mich als nicht versierten User schon 20-30 Minuten.
Klar der Container ist schnell angelegt, aber da hängt - zumindest bei mir im NAS - etwas mehr mit dran.

Außerdem nützt es ja nichts wenn die Ursache für den Fehler nicht geklärt ist und dieser dann nach einigen Wochen erneut auftritt und sich das Neuaufsetzen womöglich zu einer Dauerfunktion entwickelt.

Ich würde lieber die Ursache finden oder zumindest verstehen, damit ich sie vermeiden kann.

Wenn das in deiner Umgebung so viel Aufwand ist scheint es eine abgespeckte, oder nicht wirklich durchdachte Lösung zu sein. Wenn du einen bestehenden Parameter änderst, z. B. Port ändern und Container neu startest sollte er auch neu erzeugt werden. Begriffe, recreate, deploy, ... irgend sowas solltest du haben. Dann im Anschluss den Parameter zurücksetzen auf Origninal und das Ganze nochmal neu erzeugen.

Du kannst den Fehler jetzt suchen und eine Menge Zeit investieren, oder dir Gedanken machen wenn der Fehler in 2 und in 4 Wochen nochmal auftritt ... hast du außer einem roten Ausrufezeichen auch echte Einschränkung oder funktioniert dennoch alles? Ich betreue große Installationen und wegen einem einmaligen roten Ausrufezeichen würde ich niemals ein Fass aufmachen. ABer musst du wissen ob es deine Freizeit lohnt zu investieren.

Wernieman

Ich betreue auch diverse Docker-Container, aber was meint Ihr mit "roten Ausrufezeichen"???
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Superposchi

Ich nehme an er meint das rote Ausrufezeichen in der Fhem-Oberfläche.

Das Problem in meiner Docker-Installation ist, dass QNAP keine Möglichkeit vorgesehen hat nachträglich irgendwas am Container zu verändern.
Ich muss also alle Umgebungsvariablen, Einstellungen, Verweise etc. beim Erzeugen einstellen, sonst habe ich dazu keine Change mehr.

Und die muss ich erst wieder alle zusammensuchen, da ich sie nicht notiert habe - ja mein Fehler, trotzdem ist es so.

Was di Einschränkungen angeht, ja, ich kann kein Spotify mehr über Fhem abspielen. Ist zeitgleich aufgetreten und da ich für das Spotify soweit ich mich erinner auch Node.js Pakete installieren musste ist ein Zusammenhang naheliegend, aber nicht zwingend.

KernSani

Mal ganz abgesehen von der Docker-Thematik. Das eigentliche Problem steht doch oben schon in der Fehlermeldung und ist auch in der commandref dokumentiert:
Zitat
Standardmäßig werden globale Installationen bedient und das Ausführen von update/install/uninstall erfordert sudo Berechtigungen wie diese:
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm update *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm install *
fhem ALL=(ALL) NOPASSWD:SETENV: /usr/bin/npm uninstall *

Diese Zeile kann einfach in einer neuen Datei unter /etc/sudoers.d/fhem hinzugefügt werden und wird von dort automatisch in /etc/sudoers inkludiert.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Wernieman

*an die Stirn klatsch*
Stimmt ... wenn man den Container wie eine VM verwendet (eben nicht optimal), muß genau das so rein.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Superposchi

ZitatDiese Zeile kann einfach in einer neuen Datei unter /etc/sudoers.d/fhem hinzugefügt werden und wird von dort automatisch in /etc/sudoers inkludiert.
Stellt sich für mich nur die Frage wie ich an diesen Ort komme und wie ich dort eine neue Datei anlege.

Da greift nämlich dann doch wieder die Docker Thematik unter dem NAS.
Und die Frage stellt sich, warum das Problem jetzt erst auftritt und nicht schon früher.

kadettilac89

Zitat von: Superposchi am 30 April 2021, 17:20:49
Ich nehme an er meint das rote Ausrufezeichen in der Fhem-Oberfläche.
Denke ich auch, er schreibt zumindest im Eingangspost davon

Zitat von: Superposchi am 02 Mai 2021, 16:00:13
Stellt sich für mich nur die Frage wie ich an diesen Ort komme und wie ich dort eine neue Datei anlege.
Shell des Containers öffnen und dann mit vi anlegen.

docker exec -it <container name> /bin/bash

Alternativ die Datei am Host anlegen und dann mit docker cp vom Host in den Container kopieren. Im Anschluss im Container die Berechtigungen setzen.

Die Datei existiert bei neu erstelltem Container ... liegt an dir was dir lieber ist, manuell basteln, oder Container neu erstellen ...

Zitat von: Superposchi am 02 Mai 2021, 16:00:13
Da greift nämlich dann doch wieder die Docker Thematik unter dem NAS.
Da drehen wir uns im Kreis. Wenn das dein NAS nicht zur Verfügung stellt ... wie sollen wir hier helfen. Die Empfehlung das ganze mal mit Portainer zu machen wurde ja schon in anderen Threads von mir und anderen gegeben. Es ist eine Einschränkung in deinem Setup. Das solltest du besser im Forum des NAS-Herstellers posten und um HIlfe bitten.

Zitat von: Superposchi am 02 Mai 2021, 16:00:13
Und die Frage stellt sich, warum das Problem jetzt erst auftritt und nicht schon früher.
Vermutlich gab es früher noch keine Updates und die wurden jetzt von dir eingespielt. Diese stehen vermutlich in Konflikt zu Abhängigkeiten, es gibt Module die nur mit bestimmten Versionen der Perl-Module funktionieren. Bei der Analyse wird dir aber keiner helfen können. Ohne Logs ....

Superposchi

ZitatStellt sich für mich nur die Frage wie ich an diesen Ort komme und wie ich dort eine neue Datei anlege.
Shell des Containers öffnen und dann mit vi anlegen.
Code: [Auswählen]
docker exec -it <container name> /bin/bash
Alternativ die Datei am Host anlegen und dann mit docker cp vom Host in den Container kopieren. Im Anschluss im Container die Berechtigungen setzen.
Danke aber leider sagt mir das absolut gar nichts. Ich muss Zugeben, ich habe keine Ahnung. Ich bin reiner Nutzer.

ZitatDie Empfehlung das ganze mal mit Portainer zu machen wurde ja schon in anderen Threads von mir und anderen gegeben. Es ist eine Einschränkung in deinem Setup. Das solltest du besser im Forum des NAS-Herstellers posten und um HIlfe bitten.
Portainer habe ich ja probiert, aber wie in zwei anderen Threads schon geschrieben bekomme ich keinen Zugang mit Portainer. Mir fehlt einfach das Wissen.

ZitatBei der Analyse wird dir aber keiner helfen können. Ohne Logs ....
Muss ich nachreichen, hat ja beim zweiten Post nicht funktioniert. Offenbar blockt mein Firmenrechner das hochladen.

kadettilac89

Zitat von: kadettilac89 am 29 April 2021, 11:58:13
Das einfachste ist sicherlich den Container mit bestehender Config und Files neu zu erstellen.

ich bleib dabei, mit deinem Wissenstand - nicht negativ gemeint - solltest du die Energie sparen. Erzeuge den Container neu und gut ist. Deine Docker Umgebung auf deinem NAS ist "very light" und damit kann man nicht wirklich Analysen machen. Zumindest nicht mit dem wie du den Funktionsumfang beschreibst.

Solltest du jedoch die Dateien editiren und testen wollen .... das sind Docker basics, bei Google findest du Anleitungen wie vi funktionert, was  "docker exec -it ..." bewirkt oder wie die Vorgehensweise von "docker cp ..." ist. Das sprengt hier den Rahmen ... und dann weiter was sudo ist, wie die Datei aussehen sollte ...

Selbst wenn du irgend welche Logs lieferst wird das vielleicht zu einer Diskussion führen, aber deine Frage nach dem Warum wird dir keiner beantworten können.