NEWS
Adapterupdates nicht möglich
-
@tjaden Mal in das bereits genannte HowTo zu nodeJS geschaut?
Da steht soweit eigentlich alles drin. -
@tjaden sagte in Adapterupdates nicht möglich:
Wie gesagt, jedes Update ist immer ein großer Aufwand da die Anleitungen hier nicht wirklich funktionieren.
Freche Behauptung.
-
@thomas-braun sagte in Adapterupdates nicht möglich:
@tjaden sagte in Adapterupdates nicht möglich:
Wie gesagt, jedes Update ist immer ein großer Aufwand da die Anleitungen hier nicht wirklich funktionieren.
Freche Behauptung.
Naja,
Wenn @Tjaden sich ungefiltert die Linux-Anleitungen ansieht.
Da muss er schon bei Docker-Anleitungen nachsehen.
Die klappen dann auch -
Nur der Richtigkeithalber:
Seit Node 12 funktioniert pkill io nicht mehr wie erwartet. Stattdessen pkill node oder pkill -u iobroker
-
@thomas-braun Pardon, das ist meine persönliche Erfahrung – kein Vorwurf. Was machst du beruflich, bist du angewandter Informatiker? Ich nicht. Ich würde gerne sehr individuell Hausautomation einrichten und habe mir selbst in verschiedenen Sprachen Programmieren beigebracht (JS, Java, C++, C#, PHP). Ansonsten bin ich Windows-Nutzer und mache selten einen Ausflug in andere Gefilde. Manchmal lässt sich das leider nicht umgehen, z. B. beim Pi oder eben beim iobroker. Das Problem ist dabei stets dass die Anleitungen zu diesen speziellen Anwendungsfällen nie davon ausgehen, dass jemand keine Ahnung von Linux hat. Da werden einem Befehle hingeklatscht die man dann brav blind abtippt und darauf hofft, dass das dann so passt. Das ist bei meiner Konstellation eben selten der Fall. Leider gehen die Autoren immer davon aus, dass man fast auf ihrem eigenen Wissensstand ist, wodurch einem der Einstieg nach Feierabend sehr schwer gemacht wird.
Und da ich nicht täglich damit arbeite, muss ich mir jedes Mal aufs Neue anlesen, wie das Ganze funktioniert. In der Regel schreibe ich mir dann selbst eine Anleitung, jedoch kommt immer mal was Neues dazu, wie nun z. B. das Downgrade von NPM 8 auf 6. Das habe ich übrigens immer noch nicht geschafft:
-
@haselchen Danke, dann nehme ich das so in meine Notizen zum Update vom js-controller auf:
iobroker update pkill node //oder pkill -u iobroker iobroker upgrade self iobroker plugin disable sentry iobroker start
-
@tjaden
Nein, ich bin auch kein Informatiker.Dann knall ich dir auch noch ein paar Befehle hin:
rm /usr/local/bin/node rm /usr/local/bin/npm
Dann per
nano /etc/apt/sources.list.d/nodesource.list
aus der 16 eine 14 machen, mit STRG-X abspeichern und nano verlassen.
apt update apt install --reinstall nodejs
-
@thomas-braun Vielen Dank. Das mit dem "rm" hatte ich auch grade hier gefunden: https://medium.com/@Quigley_Ja/specifying-npm-version-in-dockerfile-ee6e71a60945 und dank https://docs.docker.com/engine/reference/commandline/rm/ weiß ich nun dass das "remove" ist (wobei ich ja etwas wie "del" als Befehl erwarten würde)
"Nano" kennt mein Docker nicht:
root@iobroker:/opt/iobroker# nano /etc/apt/sources.list.d/nodesource.list bash: nano: Kommando nicht gefunden.
Und das ist wieder typisch. Nun bist du so nett mir hier zu helfen und ich renne gleich wieder in das nächste Problem
-
@tjaden sagte in Adapterupdates nicht möglich:
(wobei ich ja etwas wie "del" als Befehl erwarten würde)
Andere Baustelle. Linux ist nicht Windows.
Wenn nano nicht drauf ist, dann installier es nach:
apt install nano
Und bitte beschränke dich auf diesen Thread, ich kann nicht sehen was du da ggf. noch von gottweißwoher noch an Anleitungen anschleppst. Das gibt nur Chaos.
-
@thomas-braun Das mit dem node hätte ich mir wohl schenken können, denn die 14 stand bereits drin:
Okay, jetzt habe ich:
root@iobroker:/opt/iobroker# nodejs -v v14.18.1 root@iobroker:/opt/iobroker# node -v bash: /usr/local/bin/node: Datei oder Verzeichnis nicht gefunden root@iobroker:/opt/iobroker# npm -v bash: /usr/local/bin/npm: Datei oder Verzeichnis nicht gefunden
Nun weiß ich nicht, woher er weiß in welchem Ordner node und npm liegen müssen. Wenn ich dich recht verstanden habe, ist /local immer falsch. Gibt es da so etwas wie eine Registry, die den Anfragen nach der Versionsnummer sagt, in welchem Ordner sie nachschauen muss?
Oder sind node und npm schlicht nicht mehr installiert, dank rm?
Wo ist der Unterschied zwischen node und nodejs?
In deiner Anleitung steht:
"Finger weg und ignorieren! npm wird am besten nur wie üblich via apt (ist im Paket nodejs enthalten) aktuell gehalten. Dann passt die Version auch zum Rest."Wie funktioniert das?
Einfach apt install npm? Oder "npm6"?
-
Gibt es da so etwas wie eine Registry, die den Anfragen nach der Versionsnummer sagt, in welchem Ordner sie nachschauen muss?
Nein, es gibt keine Registry. Wenn ein Befehl abgesetzt wird sucht das System im sog. $PATH danach.
Das ist bei dir aber noch ein alter Eintrag, deswegen findet das System im Moment die richtige Version noch nicht. Einmal ausloggen und wieder einloggen.Wo ist der Unterschied zwischen node und nodejs?
Es gibt keinen. Das ist das gleiche bin-file. Wird nur aus historischen Gründen miteinander verlinkt. In ganz aktuellen Versionen wird nodejs auch gar nicht mehr angelegt.
Wie funktioniert das?
Das funktioniert jetzt wie alle anderen Updates auch.
Aber das hast du offenbar ja nie gemacht.Mit
apt update apt dist-upgrade
bringst du das ganze Konstrukt mit zwei Befehlen auf Stand.
Docker bitte danach einmal neustarten.Einfach apt install npm? Oder "npm6"?
Weder noch. npm wird nicht separat installiert, das ist Bestandteil des Paketes 'nodejs'.
-
@thomas-braun Danke für deine Geduld. Langsam wird ein Schuh draus.
Ich habe natürlich genau so wie für node immer nach einem Einzelupdate gesucht. APT ist dann also ein Paketmanager und via "apt update" mache ich quasi ein "fetch" und per "apt dist-upgrade" ein "pull" für die gesamte Distribution(?)
Warum ist node dann nicht auch darin enthalten? Das ist eben das Unpraktische an einem Terminal: Wenn man nach 1/2 Jahr nicht mehr weiß, was man gemacht hat (und das auch nicht wusste, während man es tat), "sieht" man das auch ohne entsprechende Befehle nicht mehr und tappst im Dunkeln herum. Ich hätte jetzt glatt gedacht (wenngleich ich das auch als sehr unpraktisch und daher merkwürdig empfunden hätte), dass ich alle Pakete einzeln updaten muss, genau so wie node.
Ergebnis nach Neustart :
root@iobroker:/opt/iobroker# npm -v 6.14.15 root@iobroker:/opt/iobroker# node -v v14.18.1
$ iobroker upgrade alexa2@3.11.2 Update alexa2 from @3.9.3 to @3.11.2 NPM version: 6.14.15 npm install iobroker.alexa2@3.11.2 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) Update "system.adapter.alexa2.0" upload [20] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/raspi.png icons/raspi.png image/png upload [19] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/multiroom.png icons/multiroom.png image/png upload [18] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/microphone.png icons/microphone.png image/png upload [17] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/firetv.png icons/firetv.png image/png upload [16] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/firetab.png icons/firetab.png image/png upload [15] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_sub.png icons/echo_sub.png image/png upload [14] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_studio.png icons/echo_studio.png image/png upload [13] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show5.png icons/echo_show5.png image/png upload [12] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show2.png icons/echo_show2.png image/png upload [11] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_show.png icons/echo_show.png image/png upload [10] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_plus2.png icons/echo_plus2.png image/png upload [9] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_flex.png icons/echo_flex.png image/png upload [8] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot4.png icons/echo_dot4.png image/png upload [7] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot3.png icons/echo_dot3.png image/png upload [6] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo_dot.png icons/echo_dot.png image/png upload [5] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo4.png icons/echo4.png image/png upload [4] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo2.png icons/echo2.png image/png upload [3] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo.png icons/echo.png image/png upload [2] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/echo-input.png icons/echo-input.png image/png upload [1] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/icons/apps.png icons/apps.png image/png upload [0] alexa2.admin /opt/iobroker/node_modules/iobroker.alexa2/admin/alexa.png alexa.png image/png Adapter "alexa2" updated Process exited with code 0
Also vielen lieben Dank vor allem für deine, als auch die Hilfe der anderen!
-
APT ist dann also ein Paketmanager und via "apt update" mache ich quasi ein "fetch" und per "apt dist-upgrade" ein "pull" für die gesamte Distribution(?)
Ja, 'apt update' schlägt die Tages-Karte auf und schaut was es Neues im Angebot gibt, 'apt dist-upgrade' gibt dann die Bestellung der neuen Köstlichkeiten auf.
Warum ist node dann nicht auch darin enthalten?
Was meinst du? Richtig konfiguriert ist node ja enthalten.
nodesource baut das Paket nodejs als 'rundumglücklich Angebot' zusammen, debian macht das mit den eigenen Paketen anders, da müsste man jedes node-Modul einzeln installieren und aktuell halten. Hat beides Vor- und Nachteile.Was sagt jetzt
which nodejs node npm && nodejs -v && node -v && npm -v && apt update && apt update && apt policy nodejs
-
@homoran Deine Nachricht hatte ich bisher wohl übersehen:
Warum tue ich mir Docker an? Weil ich damals nach einer Lösung für die Heimautomation suchte und diese gerne auf meinem NAS laufen lassen wollte. Ich sah dann dass es die Möglichkeit in Docker gibt und Docker läuft ja nativ auf dem NAS.
Wenn du so fragst kann man da sicher auch via VM Linux drauf laufen lassen. Aber da kommt man nicht drauf, wenn man normalerweise kein Linux nutzt. Ich ging damals naiv davon aus dass man iobroker ein mal installiert (in Docker) und dann alle Updates direkt über die Weboberfläche laufen. Ich könnte mir auch vorstellen, dass eine VM meine ohnehin recht beanspruchte DS218+ dann überbeansprucht, bzw. zumindest mehr belastet als der iobroker-Docker-Container.
-
@tjaden sagte in Adapterupdates nicht möglich:
Warum ist node dann nicht auch darin enthalten?
das ist es leider in manchen Distributionen.
und dann geht das Problem erst richtig los, weilmes dann oft anders installiert ist und mit der Installation über nodesource eine zweite Installation hinzukommt. -
/usr/bin/nodejs /usr/bin/node /usr/bin/npm v14.18.1 v14.18.1 6.14.15 sudo: Hostname iobroker kann nicht aufgelöst werden Ign:1 http://deb.debian.org/debian stretch InRelease OK:2 http://deb.debian.org/debian stretch-updates InRelease OK:3 http://deb.debian.org/debian stretch Release OK:4 http://security.debian.org/debian-security stretch/updates InRelease OK:5 https://deb.nodesource.com/node_14.x stretch InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell. sudo: Hostname iobroker kann nicht aufgelöst werden OK:1 http://security.debian.org/debian-security stretch/updates InRelease Ign:2 http://deb.debian.org/debian stretch InRelease OK:3 http://deb.debian.org/debian stretch-updates InRelease OK:4 http://deb.debian.org/debian stretch Release OK:5 https://deb.nodesource.com/node_14.x stretch InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell. nodejs: Installiert: 14.18.1-1nodesource1 Installationskandidat: 14.18.1-1nodesource1 Versionstabelle: *** 14.18.1-1nodesource1 500 500 https://deb.nodesource.com/node_14.x stretch/main amd64 Packages 100 /var/lib/dpkg/status 4.8.2~dfsg-1 500 500 http://deb.debian.org/debian stretch/main amd64 Packages
-
@tjaden warum sollze es denn unbedingt auf dem NAS laufen?
ein NAS ist ein NAS und normalerweise kein Allzweckserver.
oft sind da die (Rest-)Ressourcen niedriger als bei einem SBC mit 2gb RAM.Außerdem wird oft irrtümlich gedacht, dass ein NAS sowieso 24/7 läuft und die 3W für einen Pi eingespart werden könnten.
Leider gehen jetzt beim NAS die Platten 24/7 nicht mehr schlafen, so dass das NAS mehr Strom verbraucht als vorher, und zwar mehr als 3W.
und das im iobroker Docker Linux läuft ist ja wohl auch klar.
-
@tjaden hab zwar nicht alles verfolgt, ber ich lese nach wie vor "strech"
-
@homoran Klingt schlüssig. Einen Zero W habe ich noch rumliegen, der wird aber nicht reichen, oder?
Nachtrag: Ich hatte das nicht gemacht, weil ich las dass die SD-Karten nicht für den Dauerbetrieb gedacht sind. Der NAS schon. Ich könnte noch eine kleine SSD anhängen, ich schaue mal, wie ich das Docker beibringe.@crunchip Wenn ich wüsste wie das ginge und was mir das bringt würde ich das gerne ändern.
-
@crunchip sagte in Adapterupdates nicht möglich:
hab zwar nicht alles verfolgt, ber ich lese nach wie vor "strech"
Ja, da wollte ich nicht auch noch ran.
Aber das ist doch der ganz dolle Vorteil von Containern, dass man die ganz schnell und ohne Komplikationen aktuell halten kann. Wird mir jedenfalls immer erzählt.