NEWS
Node und JS-Controller Udpate im Docker
-
Hallo zusammen,
habe nun diverse Foreneinträge gelesen und versucht das Problem zu lösen, leider ohne Erfolg.Ich muss fairerweise zugeben, dass ich das System zu lange nicht "gewartet" habe, daher nun im Verzug mit Updates bin.
AKtuell: Node: 12.17, NPM: 6.14.4, JS-Controller: 4.0.23
Nun wollte ich das mit den alt bekannten Befehlen im Terminal beheben:pkill -u iobroker
iobroker update
iobroker upgrade selfStoppen konnte ich den iobroker dann nur noch zusätzlich mit pkill node.
Beim ausführen des 2. Befehls (iobroker udpate) kam dann folgendes:Server Cannot start inMem-objects on port 9001: EACCES: permission denied, open '/opt/iobroker/iobroker-data/objects.jsonl'
An den Berechtigungen etc. habe ich seit aufsetzen, vor einigen Jahren nichts gemacht.
Vielleicht kann mir jemand helfen?
Vielen Dank und schöne Ostern !
-
@sali84
Nur als kleiner Hinweis
Node im Container nicht über die üblichen Befehle aktualisieren.
Node und das Container Betriebssystem wird nur dirch die Verwendung eines aktuellen Containers aktualisiert. Danach kannst du dann den js -controller über diese Befehle oder die neuen maintanance Befehle durchgeführtNoch besser allerdings ein Backup erzeugen
Dann eine neue cleanen iobroker Container starten
Und das Backup wieder einspielen -
@oliverio Danke Dir.
Bevor ich einen neuen Container aufsetze.
Warum kommt beim Update von Node immer diese Meldungen ?:E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://deb.debian.org/debian stretch Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: The repository 'http://deb.debian.org/debian stretch-updates Release' does no longer have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details. -
Weil stretch end of life ist und unter diesem Pfad die Daten nicht mehr verfügbar sind
https://unix.stackexchange.com/questions/371890/debian-the-repository-does-not-have-a-release-file
Bitte hier nicht weiter rumdoktern
Selbst wenn du das hinbekommst ist die Änderung nicht dauerhaft.
Alles was nicht in einem Volumen enthalten ist, ist nach der nächsten Regeneration des Containers wieder weg.
Das gehört zu den Basis Konzepten von Containern
Container sind keine VM -
Danke Dir.
Ich kann ja nun aber nicht einfach ein neues Image ziehen und den Mount Ordner verlinken. Die Versionen (e.g. JS Controller) werden sich ja beissen oder ?
Und auch ein Backup kann ich so ja nicht einfach einspielen oder? -
@sali84
Probieren kannst du das schon. -
Hmm. Hatte halt nur gelesen, dass man bei einem Container wechsel sicherstellen soll das der Controller up to date ist.
Nicht, dass danach gar nichts mehr funktioniert.
Zudem würde der Controller, selbst wenn es funktioniert dann ja immer noch auf der alten Version sein oder ?
Aber vermutlich meinst du, dass die Update Befehle dann wieder gehen....Kann man nicht die Links zu Debian aufs Archiv einfach anpassen, damit das Update auf dem aktuellen System funktioniert ?
-
@sali84 sagte in Node und JS-Controller Udpate im Docker:
Kann man nicht die Links zu Debian aufs Archiv einfach anpassen, damit das Update auf dem aktuellen System funktioniert ?
Nein, das widerspricht der Verwendung eines Containers. Die Dinger sind Wegwerfartikel. Und Stretch ist schon geraume Zeit abgekündigt, kein Wunder das die Links nun ins Leere laufen. Häufiger Updaten und die Software aktuell halten.
-
@Thomas-Braun : Du hast Recht, war mein Versäumnis
Ich habe ein neues Image gezogen und der Container steht mit dem alten Mount bereit. Aber wenn ich den nun starte, sollte der Controller ja noch alt sein.
Und ein zurück zum alten Container, im Fall es geht etwas schief, geht ja dann auch nicht mehr oder? -
@sali84
Nein, der Container ist kein VM
Im Container ist das Betriebssystem und Node nun aktuell
Ich vermute mal das du mit Mount das Volumen meinst?
Wenn ja dann entspricht das Volumen alles was sich unterhalb von /opt/iobroker befindet.
Also der iobroker in alter Version. Das aktualisierst du zunächst die Adapter und wenn das abgeschlossen ist aktualisierst du den js-controller mit den Befehlen die du eingangs hier schon gepostet hast.
Falls das nicht funktioniert, dann musst du ggfs stufenweise aktualisieren.
Bei dem Befehl kann man auch die versionsnummer angeben.
Da gibst du dann jeweils die letzte offizielle Version für jede Major Version an.
Das machst du dann der Reihe nach bis du die aktuelle Version erreicht hast.
Es kann sein das man sich mehrere Versionen überspringen kann aber das musst du ausprobieren -
Habe nun das 7.X Image im neuen Container zum Laufen gebracht. Habe den Mount Ordner (opt/iobroker) vorher kopiert und auf den Kopie Ordner verwiesen. So kann ich probieren.
Es scheint zu laufen, allerdings erreiche ich die Admin Oberfläche (Err connection refused) nicht mehr. Adapter sehen wie folgt aus, einzelne Adapter habe ich bereits geupdated. Habt ihr eine Idee?Adapter "admin" : 6.13.16 , installed 6.13.16
Adapter "alexa2" : 3.26.4 , installed 3.23.2 [Updatable]
Adapter "backitup" : 2.10.11 , installed 2.5.4 [Updatable]
Adapter "discovery" : 4.4.0 , installed 2.8.0 [Updatable]
Adapter "history" : 3.0.1 , installed 1.11.1 [Updatable]
Adapter "hm-rega" : 4.0.0 , installed 3.0.47 [Updatable]
Adapter "hm-rpc" : 1.16.0 , installed 1.17.0
Adapter "iot" : 2.0.11 , installed 1.11.9 [Updatable]
Adapter "javascript" : 7.8.0 , installed 5.8.10 [Updatable]
Controller "js-controller": 5.0.19 , installed 4.0.24 [Updatable]
Adapter "knx" : 2.0.24 , installed 1.0.45 [Updatable]
Adapter "mihome-vacuum": 4.1.1 , installed 3.11.0 [Updatable]
Adapter "radar2" : 2.1.0 , installed 1.2.5 [Updatable]
Adapter "scenes" : 2.3.9 , installed 2.4.2
Adapter "simple-api" : 2.7.2 , installed 2.7.2
Adapter "socketio" : 6.6.1 , installed 3.1.5 [Updatable]
Adapter "sonos" : 3.0.0 , installed 2.3.3 [Updatable]
Adapter "telegram" : 3.1.0 , installed 1.15.2 [Updatable]
Adapter "text2command" : 3.0.3 , installed 2.2.2 [Updatable]
Adapter "tuya" : 3.15.0 , installed 3.13.1 [Updatable]
Adapter "vis" : 1.5.4 , installed 1.5.4
Adapter "weatherunderground": 3.6.0, installed 3.4.2 [Updatable]
Adapter "web" : 6.2.3 , installed 5.4.0 [Updatable]
Adapter "ws" : 2.5.11 , installed 2.3.3 [Updatable] -
Versuch per Konsole die Adapter upzudaten.
Den JSController zuerst.
Aber das Image ist alt , wieso hast du es installiert ? -
@haselchen weil ich sicherstellen wollte, dass sich die JS Controller Versionen nicht "beisen". Daher der Zwischenschritt. Bin am updaten. JS Controller ist nun updated. Leider keine Verbesserung ....
-
Inzwischen bin ich soweit, dass folgende Meldung kommt:
Diese Website kann keine sichere Verbindung bereitstellen192.168.x.x erfüllt die Sicherheitsstandards nicht.
ERR_SSL_SERVER_CERT_BAD_FORMATCertificate habe ich mit dem create Befehl bereits erzeugt.
Schon sehr spannend, wie viele Probleme man so haben kann...... Danke für eure Hilfe
-
Nach einigen "Probieren" konnte dann der Container nicht mehr gestartet werden. Also so komme ich da nicht wirklich weiter, da fehlt mir einfach das Wissen. Wäre dankbar, wenn mir jemand helfen könnte....
-
Vielleicht solltest Du mal Schritt für Schritt zeigen wie Du Deinen Container mit welchen Einstellungen installierst .
-
@haselchen klar gerne. Bin ja um jede Hilfe dankbar.
Hier die Screenshots.
-
@sali84
Das wäre das rumdoktern -
-
Jetzt scheint es zu funktionieren.
Für alle die über mehrere Image Versionen hinweg Udpaten möchten und dabei den Mount Ordner bestehen lassen wollen ---> lasst es lieber sein. Es hat mich Stunden gekostet und es läuft einfach unheimlich instabil.
Lösung ist, das Image mit dem Mount irgendwie kurz zum Laufen zu bringen und dann asap Backitup zu nutzen und dann ein ganz neues Image mit neuem Mount anlegen.Weiterhin schöne Ostern euch...