NEWS
iob node fix - Skript
-
@thomas-braun naja, für klassische Containeranwendungen mag das richtig sein, aber der iobroker ist halt keine solche klassische Anwendung. Dennoch finde ich den Ausschluss ok weil das Image regelmässig neu gebaut wird und einem so auch keine Neuerungen entgehen.
-
Offengesagt hatte ich auch gar keine Lust auf diese Diskussion.
-
@fastfoot sagte in iob node fix - Skript:
@marc-berg jaein, da das repo im image nicht umgestellt ist würde es auch keine Minor updates mehr geben. Irgendwo hatte André geschrieben dass er das repo umgestellt hat, aber das ist nicht der Fall. Vlt. soll das aber auch erst für die nächste Version gelten. @andre ?
Die Nodejs Repo Umstellung ist in Docker Image v9 drin. Kommt die Tage als beta wenn ich die nötige Zeit auftreiben kann. In v8 habe ich dazu eigentlich nichts mehr geplant... Könnte man drüber nachdenken noch ne v8.1.1 zu machen, die nur den Repo-Fix enthält...
Zum Thema iobroker node fix hier mein Senf:
Meines Erachtens braucht man das Script im Docker Container nicht. Ist node im Allerwertesten, zieht man das Image neu und gut. Eben so, wie @Thomas-Braun das in seiner bekannt charmanten Art schon beschrieben hat :
@thomas-braun sagte in iob node fix - Skript:
Ich mach ja einen Bogen um die Dinger und mir ist immer gesagt worden, das macht man nicht so (klassisch per Paketmanager), man holt sich eine frische Tupperdose und gut ist. Deswegen auch keine Unterstützung über das Skript.
Eine explizite Unterstützung von Docker-Umgebungen durch das Script ist daher für mich auch nicht erforderlich.
Der Aufruf des
iob fix
wird ab v9 bereits mit folgender Info begleitet:echo "The ioBroker fixer script is not specifically designed to run in Docker." echo "Although it is generally safe to use, use it at your own risk and make sure to restart your container immediately after execution!"
Etwas Ähnliches würde ich auch für
iob node fix
anstreben. Während der "normale" Fixer noch bestimmte Aktionen macht, die/opt/iobroker
betreffen, macht der node fix doch nur node, oder? Falls dem so ist, könnte man die Ausführung auch komplett blocken und auf das Neuladen des Docker Images hinweisen...Ich möchte das hier auch nicht zur Diskussion stellen. Wer eine Meinung dazu hat kann das mit mir gerne im Discord Channel für beta testing docker image diskutieren. In diesem Thread solltet ihr euch auf "Nicht-Docker-Umgebungen" beschränken.
@thomas-braun sagte in iob node fix - Skript:
Offengesagt hatte ich auch gar keine Lust auf diese Diskussion.
Dem schließe ich mich an.
MfG,
André -
@andre sagte in iob node fix - Skript:
Falls dem so ist, könnte man die Ausführung auch komplett blocken und auf das Neuladen des Docker Images hinweisen...
Genau das wird schon gemacht.
if [ -f "$DOCKER" ]; then echo "Fixing Docker is not supported, please update your Docker Container"; unset LC_ALL; exit 1;
-
@thomas-braun sagte in iob node fix - Skript:
Offengesagt hatte ich auch gar keine Lust auf diese Diskussion.
my bad, sorry...
-
Habe das Skript (Tool) auch durchlaufen lassen. Lief ohne Fehler durch (zumindest Stand das überall so). Dankeschön für die Unterstützung!
-
@dpo99 sagte in iob node fix - Skript:
Lief ohne Fehler durch
Also final mit der doppelten 'Nothing to do'-Meldung?
-
@thomas-braun Die Meldung stand jetzt nicht am Ende aber im Fließtext bzw. "unterwegs" also er installiert hat stand es da.
Hab danach noch den iob diag durchlaufen lassen und der hat auch alles grün gemeldet.
-
@dpo99 sagte in iob node fix - Skript:
Die Meldung stand jetzt nicht am Ende
Was stand denn dann am Ende?
-
@thomas-braun Das hab ich leider nicht aufgehoben :/. Kann man das wiederherstellen oder iwo nachträglich auslesen?
-
@dpo99 sagte in iob node fix - Skript:
Kann man das wiederherstellen oder iwo nachträglich auslesen?
Nein, es wird kein (eigenes) Log vom skript geschrieben.
-
@haselchen sagte in iob node fix - Skript:
sudo apt-get update sudo apt-get install nodejs -y
Vielen dank! So hat es bei mir geklappt!
-
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.