NEWS
iob node fix - Skript
-
So sieht es bei mir aus ... keine 2x Nothing to do ..
ioBroker nodejs fixer 2023-09-20 Recommended nodejs-version is: 18.18.0 Checking your installation now. Please be patient! Your current setup is: /usr/bin/nodejs v18.17.1 /usr/bin/node v18.17.1 /usr/bin/npm 9.6.7 /usr/bin/npx 9.6.7 /usr/bin/corepack 0.18.0 We found these nodejs versions available for installation: nodejs: Installed: 18.17.1-deb-1nodesource1 Candidate: 18.17.1-deb-1nodesource1 Version table: *** 18.17.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_18.x bookworm/main amd64 Packages 100 /var/lib/dpkg/status 18.13.0+dfsg1-1 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages Nothing to do, your installation is using the correct paths. You are running nodejs v18.17.1. Do you want to install recommended version 18.1 8.0? Press <y> to continue or any other key to quit Trying to fix your installation now. Please be patient. [sudo] password for frank: kvm Waiting for ioBroker to shut down - Give me a minute... ############################################################ *** These repos are active on your system: Hit:1 http://security.debian.org/debian-security bookworm-security InRelease Hit:2 http://deb.debian.org/debian bookworm InRelease Hit:3 http://deb.debian.org/debian bookworm-updates InRelease Reading package lists... Done *** Installing ca-certificates, curl and gnupg, just in case they are missing. *** Creating new /etc/apt/sources.list.d/nodesource.list and pinning source deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main Package: nodejs Pin: origin deb.nodesource.com Pin-Priority: 1001 *** These repos are active after the adjustments: Hit:1 http://security.debian.org/debian-security bookworm-security InRelease Hit:2 http://deb.debian.org/debian bookworm InRelease Hit:3 http://deb.debian.org/debian bookworm-updates InRelease Get:4 https://deb.nodesource.com/node_18.x nodistro InRelease [12.1 kB] Get:5 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages [5247 B] Fetched 17.4 kB in 1s (27.2 kB/s) Reading package lists... Done Installing the recommended nodejs version now! ./iob_node_update: line 308: [: : integer expression expected ./iob_node_update: line 323: [: : integer expression expected *** You need to manually restart your container now! *** We tried our best to fix your nodejs. Please run 'iob diag' again to verify.
nach einem Neustart war laut iob diag immer noch die 18.17.1 drauf, aber 1 OS update fällig. update und upgrade ausgeführt und dann war auch die 18.18.0 drauf
hier noch die diag Zusammenfassung
======================= SUMMARY ======================= v.2023-06-20 Static hostname: iobroker Icon name: computer-vm Chassis: vm 🖴 Machine ID: 84546650dea94ae18d0b4591eabfa35d Boot ID: d517d6f1ff9047a7af8b77da764b2425 Virtualization: kvm Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-12-amd64 Architecture: x86-64 Hardware Vendor: QEMU Hardware Model: Standard PC _i440FX + PIIX, 1996_ Firmware Version: rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org Installation: kvm Kernel: x86_64 Userland: amd64 Timezone: Europe/Berlin (CEST, +0200) User-ID: 1000 X-Server: false Boot Target: graphical.target Pending OS-Updates: 1 Pending iob updates: 16 Nodejs-Installation: /usr/bin/nodejs v18.17.1 /usr/bin/node v18.17.1 /usr/bin/npm 9.6.7 /usr/bin/npx 9.6.7 Recommended versions are nodejs 18.x.y and npm 9.x.y Your nodejs installation is correct MEMORY: total used free shared buff/cache available Mem: 8.3G 2.7G 5.1G 507K 734M 5.6G Swap: 1.0G 0B 1.0G Total: 9.3G 2.7G 6.2G Active iob-Instances: 21 Active repo(s): beta ioBroker Core: js-controller 5.0.12 admin 6.8.0 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0 (SSL), run as: admin system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 19132 States: 17041 Size of iob-Database: 55M /opt/iobroker/iobroker-data/objects.jsonl 24M /opt/iobroker/iobroker-data/states.jsonl =================== END OF SUMMARY ====================
IOBroker läuft auf Debian 12 Proxmox VM
Edit:
Diag nach update / Upgrade======================= SUMMARY ======================= v.2023-06-20 Static hostname: iobroker Icon name: computer-vm Chassis: vm 🖴 Machine ID: 84546650dea94ae18d0b4591eabfa35d Boot ID: d517d6f1ff9047a7af8b77da764b2425 Virtualization: kvm Operating System: Debian GNU/Linux 12 (bookworm) Kernel: Linux 6.1.0-12-amd64 Architecture: x86-64 Hardware Vendor: QEMU Hardware Model: Standard PC _i440FX + PIIX, 1996_ Firmware Version: rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org Installation: kvm Kernel: x86_64 Userland: amd64 Timezone: Europe/Berlin (CEST, +0200) User-ID: 1000 X-Server: false Boot Target: graphical.target Pending OS-Updates: 0 Pending iob updates: 2 Nodejs-Installation: /usr/bin/nodejs v18.18.0 /usr/bin/node v18.18.0 /usr/bin/npm 9.8.1 /usr/bin/npx 9.8.1 Recommended versions are nodejs 18.x.y and npm 9.x.y Your nodejs installation is correct MEMORY: total used free shared buff/cache available Mem: 8.3G 4.8G 2.7G 507K 1.1G 3.5G Swap: 1.0G 0B 1.0G Total: 9.3G 4.8G 3.8G Active iob-Instances: 44 Active repo(s): stable ioBroker Core: js-controller 5.0.12 admin 6.8.0 ioBroker Status: iobroker is running on this host. Objects type: jsonl States type: jsonl Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0 (SSL), run as: admin + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: admin Objects: 19132 States: 17041 Size of iob-Database: 64M /opt/iobroker/iobroker-data/objects.jsonl 36M /opt/iobroker/iobroker-data/states.jsonl =================== END OF SUMMARY ====================
-
@frank579 sagte in iob node fix - Skript:
nach einem Neustart war laut iob diag immer noch die 18.17.1 drauf, aber 1 OS update fällig. update und upgrade ausgeführt und dann war auch die 18.18.0 drauf
Klar, ein Neustart installiert ja auch keine Node, sondern das System Update.
Das Script bereitet das vor, aber installieren musst das schon selber. -
@jan1 sagte in iob node fix - Skript:
Das Script bereitet das vor, aber installieren musst das schon selber.
You are running nodejs v18.17.1. Do you want to install recommended version 18.18.0? Press <y> to continue or any other key to quit
Die abfrage habe ich anders verstanden...
Wenns so ist Okay dann war ja alles Richtig.
@Thomas-Braun ist das so ?
-
@thomas-braun bei mir war es wie bei @Frank579. Realtiv ähnlich lief das Skript bei mir. Zwischendurch diese Info:
Nothing to do, your installation is using the correct paths.
Bei mir wurde auch nach einem Update auf die neuste Version gefragt:
You are running nodejs v18.17.1. Do you want to install recommended version in tree 18.x 8.0? Press <y> to continue or any other key to quit Trying to fix your installation now. Please be patient. [sudo] password for iobroker: Waiting for ioBroker to shut down - Give me a minute... ############################################################
und endete mit dieser CodeZeile
We tried our best to fix your nodejs. Please run 'iob diag' again to verify.
Im Verlauf der Installation war es auch so, dass er von 18.17.1 ein Downgrade auf 18.17.0 durchgeführt hat und dann wieder ein upgrade auf 18.18.0 inkl. NPM.
Wie gesagt, sah am Ende dann alles korrekt aus, lief ohne Fehler und iob diag hat auch keine Fehler gemeldet.
-
@dpo99 sagte in iob node fix - Skript:
Im Verlauf der Installation war es auch so, dass er von 18.17.1 ein Downgrade auf 18.17.0 durchgeführt hat und dann wieder ein upgrade auf 18.18.0 inkl. NPM.
Das wird gemacht, wenn aus den iob-States keine Recommended Version ausgelesen werden kann (slaves oder Datenbank läuft nicht oder sonst irgendwas).
Ich hab den Code jetzt umgestellt, die Meldungen sollten jetzt schlüssiger sein.
-
Hat hier funktioniert. Ebenfalls nach anfänglichem Downgrade auf 18.17.0 ist jetzt 18.18.0 installiert und erneuter Durchlauf berichtet wie erhofft 2x "nothing to do". Einwandfrei!
-
@mick70 sagte in iob node fix - Skript:
Downgrade auf 18.17.0
Ist das ein Slave-Device? Oder warum musste dieser Fallback gemacht werden?
-
@thomas-braun Nein, ist eigentlich gar nix besonderes. Die Ursache fürs Fallback habe ich leider überlesen, falls sie irgendwo stand.
-
@mick70 sagte in iob node fix - Skript:
Die Ursache fürs Fallback habe ich leider überlesen, falls sie irgendwo stand.
Die genaue Ursache steht nicht da, nur dass keine empfohlene Version gefunden werden konnte und daher der 18er-Zweig angelegt werden wird.
-
@thomas-braun
Funktioniert ganz klasse
Hab das heute mal drüber laufen lassen und das Update auf die 18.18.0 gemachtUnd dann mal IOB Diag laufen lassen
-
Das schaut gut aus.
Von welcher Version bist du denn gekommen? Der Auszug ist ja vermutlich von einem zweiten Durchlauf des Skripts. -
@thomas-braun
auf dem Produktivsystem hab ich das script nur einmal laufen lassen, danach dann direkt sudo apt update && sudo apt upgrade danach war alles bereits sauber erledigt
Zum schluss nochmal dein script drüber laufen lassen und beide "Nothing to do" am SchlussIch bin von der node.js 18.17.1
Nachdem ich per sudo apt update && sudo apt upgrade nicht auf die 18.18.0 kam hab ich dein script mit einer sicherungs Festplatte am RPI getestet nachdem das wunderbar funktioniert hat hab ich das dann auf meinem produktiv System ebenfalls gemacht -
Danke, das hilft!
-
Hi,
eine Suche über alle Dateien kann lange dauern ...
Vlt. ist es hier sinnvoller eine positiv-Liste anzugeben? Ich habe mich beholfen mit einen weitern Ausschluss (/mnt)if [[ "$VERNODE" != "v$NODERECOM" ]] && [[ "$NODERECOM" == [[:digit:]]*.[[:digit:]]*.[[:digit:]]* ]]; then echo -e "\nYou are running nodejs $VERNODE. Do you want to install recommended version $NODERECOM? "; echo -e "\nPress <y> to continue or any other key to quit"; read -r -s -n 1 char; if [[ "$char" = "y" ]] || [[ "$char" = "Y" ]] then echo "Trying to fix your installation now. Please be patient." # Finding nodesource.gpg or nodesource.key and deleting. Current key is pulled in later. $SUDOX rm "$($SUDOX find / \( -path /proc -o -path /dev -o -path /sys -o -path /lost+found -o -path /mnt \) -prune -o -name nodesource.[gk]* -print)"; # Deleting nodesource.list Will be recreated later. $SUDOX rm /etc/apt/sources.list.d/nodesource.lis*; else echo "We are not fixing your installation. Exiting."; exit; fi; fi;
Wer doch als root arbeiten möchte Zeile 82-86 löschen :
77 if [ -f "$DOCKER" ]; 78 then 79 echo "Fixing Docker is not supported, please update your Docker Container"; 80 unset LC_ALL; 81 exit 1; 82 elif [ "$(id -u)" -eq 0 ]; 83 then 84 echo -e "This script must not be run as root! \nPlease use your standard user!" 85 unset LC_ALL; 86 exit 1; 87 fi;
-
@sissiwup sagte in iob node fix - Skript:
Wer doch als root arbeiten möchte
Es gibt keinen Grund dafür.
-
-
@sissiwup sagte in iob node fix - Skript:
Vlt. ist es hier sinnvoller eine positiv-Liste anzugeben?
Nein, beide Codepassagen sind genauso richtig und bedürfen keiner Anpassung.
-
@thomas-braun Vielen Dank für das Script, es hat mir gerade das Leben sehr einfach gemacht (Upgrade von NodeJS 16.20.2 auf 18.18.0). Worked like a charm
-
@Thomas-Braun
auch von meiner Seite einen herzlichen Dank; war wirklich easy und problemlos.
Beide Systeme 1x master und 1x slave (beides Raspi 4 mit bullseye) von v18.17.1 auf 18.18.0Den master hatte ich vor einiger Zeit entsprechend deinem HowTo gemacht, aber die notwendigen Änderungen (31.08.2023) noch nicht; hier script laufen lassen und danach sudo apt update && sudo apt upgrade.
Der slave ist relativ neu frisch aufgesetzt, hier hatte das script ein downgrade auf 18.17.0 gemacht und anschließend selbstständig die 18.18.0 installiert.
Ich denke, alles genauso, wie von dir geplant und gewollt. -
@ofri2607 sagte in iob node fix - Skript:
Ich denke, alles genauso, wie von dir geplant und gewollt.
Ja, so soll das.