NEWS
Alte iobroker installation aktualisieren
-
Hallo, ich habe eine paar Jahre alte iobroker Installation in einem Proxmox Container auf einem Intel Nuc. Diese versuche ich seit ein paar Tagen zu aktualisieren, komme aber nicht zum Ziel.
Ausgangspunkt:
Debian 9 (stretch)
js-controller 2.2.10
node 10.x.x
npm 8.x.x (für die genauen Versionen müsste ich ein Snapshot zurückspielen, da ich hier schon aktualisiert habe)Was wäre der sinnvollste Ansatz hier auf den aktuellen Stand zu kommen.
Bisher habe ich versucht den js-controller mit iobroker upgrade self zu aktualisieren.
Dies geht allerdings mit der node 10 nicht, weil es mindestens 12 sein muss.
Ich habe jetzt die node 12, 14 und 16 durch, bei allen kommen aber dann Fehlermeldungen.Hier mal die Meldungen nach Installation von node 16.17.1, die auch die npm auf die Version 8.15.0 aktualisiert hat:
root@iobroker:/opt/iobroker# iobroker upgrade self Update js-controller from @2.2.10 to @4.0.23 NPM version: 8.15.0 npm install iobroker.js-controller@4.0.23 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call) npm ERR! code ENOENT npm ERR! syscall open npm ERR! path /opt/iobroker/iobroker.objects-redis/package.json npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/iobroker.objects-redis/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-26T19_33_05_392Z-debug-0.log host.iobroker Cannot install iobroker.js-controller@4.0.23: 254 root@iobroker:/opt/iobroker# iobroker start root@iobroker:/opt/iobroker# iobroker status iobroker is running on this host. At least one iobroker host is running. Objects type: file States type: redis
Hat einer einen Tipp, wie ich hier weiter komme?
Bekomme ich das Debian auch irgendwie auf Version 11 Bullseye oder ist das nicht schlimm, wenn die auf 9 bleibt?
-
@mr-moose sagte in Alte iobroker installation aktualisieren:
wenn die auf 9 bleibt?
Debian 9 ist schon gleich zweimal für Tod erklärt worden. Bring das erstmal auf Vordermann.
Vermutlich ist es weniger Arbeit und erfolgsversprechender das gleich alles von Grund auf neuzumachen.
Und auch auf einem Debian 9 / Stretch wurde nicht als root herumgeturnt.
Zum Upgrade des js-controllers von so uralt Versionen aus: https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stable
-
@mr-moose sagte in Alte iobroker installation aktualisieren:
node 10.x.x
npm 8.x.xSehr ich gerade erst. Passt hinten und vorne nicht übereinander.
Npm 8 wurde zusammen mit nodejs16 ausgeliefert.
Da musst du dann auch noch ran. Da haste ganz schön viele Baustellen zu beackern. -
@thomas-braun said in Alte iobroker installation aktualisieren:
Vermutlich ist es weniger Arbeit und erfolgsversprechender das gleich alles von Grund auf neuzumachen.
Also eine Neuinstallation und dann die Daten aus der alten Version irgend wie rüber?
Dann werde ich das mal versuchen.Mag sein mit dem root, aber das ist der einzige User zu dem ich das Passwort noch kenne
-
@mr-moose sagte in Alte iobroker installation aktualisieren:
aber das ist der einzige User zu dem ich das Passwort noch kenne
Der root kann natürlich die Passworte für andere User neu setzen. root kann ja alles. Auch alles kaputt machen.
-
Ich würde das so machen:
Nodejs sauber auf dem ollen Stretch hochziehen.
Siehe in meiner Signatur wie das geht.
Dann den js-contoller direkt aus npm ziehen, mitupgrade self
geht das von der alten Version aus nicht. Dann die Adapter hochziehen. Dann ein Backup der ganzen Choose, altes OS endlich unter die Erde bringen, im neuen System (ohne aktivem root!!!!) das Backup einspielen.Künftig vom dämlichen Unfug 'Näwah tatsch ä runninck süstäm!' Abstand nehmen und das System in Gänze regelmäßig updaten.
-
@thomas-braun said in Alte iobroker installation aktualisieren:
Dann den js-contoller direkt aus npm ziehen, mit upgrade self geht das von der alten Version aus nicht.
Danke, ich werde das morgen mal versuchen.
Den Befehl um js-controller per npm zu installieren muss ich dann noch irgendwo finden. Bisher stand überall die upgrade self Variante. -
cd /opt/iobroker sudo -H -u iobroker npm install iobroker.js-controller
müsste das sein.
Das bei allen Aktionen der iobroker gestoppt sein sollte versteht sich von selbst.
-
@thomas-braun sagte in Alte iobroker installation aktualisieren:
Künftig vom dämlichen Unfug 'Näwah tatsch ä runninck süstäm!' Abstand nehmen und das System in Gänze regelmäßig updaten.
Na da würde ich eher "ranning" sagen.
-
@mickym
Stimmt. Aber da siehst du, das ich das Credo nicht so genau kenne. -
@thomas-braun said in Alte iobroker installation aktualisieren:
cd /opt/iobroker
sudo -H -u iobroker npm install iobroker.js-controllermüsste das sein.
Die Fehlermeldung bleibt leider die selbe wie bei upgrade self:
alex@iobroker:/opt/iobroker$ sudo -H -u iobroker npm install iobroker.js-controller [sudo] password for alex: npm WARN tarball tarball data for iobroker.objects-redis@file:iobroker.objects-redis (null) seems to be corrupted. Trying again. npm WARN tarball tarball data for iobroker.objects-redis@file:iobroker.objects-redis (null) seems to be corrupted. Trying again. npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies. npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated npm WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. npm WARN deprecated passport.socketio@3.7.0: Please check the workaround in https://github.com/jfromaniello/passport.socketio/issues/148 npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) npm WARN deprecated axios@0.19.2: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 npm ERR! code ENOENT npm ERR! syscall open npm ERR! path /opt/iobroker/iobroker.objects-redis/package.json npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, open '/opt/iobroker/iobroker.objects-redis/package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-09-27T16_09_13_351Z-debug-0.log
-
Ich vermute das Modul
iobroker.objects-redis
ist obsolet. In meinem System ist es jedenfalls nicht installiert. Scheint mir ein Relikt zu sein.