NEWS
iob diag - Skript
iob diag - Skript
-
WIP: Übersetzung auf Deutsch in Arbeit. Wird aber nur teilweise möglich sein.
Skript einfach mal mit der Option '--de' starten. Also./iob_diag.sh --deTEST-Version:
curl https://raw.githubusercontent.com/Grothesk242/ioBroker/refs/heads/is_node_vulnerable/diag.sh > iob_diag.sh chmod 744 iob_diag.sh ./iob_diag.sh Weitere Optionen: ./iob_diag.sh --unmask <--- Zeigt maskierte Ausgaben im Klartext ./iob_diag.sh --de <--- Ausgabe tw. auf deutsch ./iob_diag.sh --de --unmask <--- Kombination aus deutsch und KlartextMit Ausgabe in eine Logdatei namens
iob_diag.logsähe der Aufruf so aus:./iob_diag.sh | tee iob_diag.logVielleicht mag ja jemand mit Docker oder LXC das mal ausführen und den Output zeigen?
Hier werden die üblichen Dinge relativ kompakt aufgelistet, die immer wieder bei Anfragen im Forum vermisst werden.
Hier mal als ersten Einblick, vielleicht fällt ja noch etwas ein, was auch interessant zu wissen wäre, bevor man im Nebel stochert:
*** ioBroker Diagnose *** Bitte das Fenster von puTTY breit ziehen oder auf Vollbild setzen Den nachfolgenden Output 1:1 in das ioBroker-Forum unter https://forum.iobroker.net vollständig posten ,inkl der jeweils drei Steuerzeichen ``` am Anfang und Ende: ===========Ab hier kopieren ========= *** BASISSYSTEM *** CPU-Architektur: aarch64 Docker: Nein No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye *** Zeit und Zeitzonen *** Local time: Tue 2022-11-01 16:53:39 CET Universal time: Tue 2022-11-01 15:53:39 UTC RTC time: n/a Time zone: Europe/Berlin (CET, +0100) System clock synchronized: yes NTP service: active RTC in local TZ: no *** ARBEITSSPEICHER *** total used free shared buff/cache available Mem: 7.7Gi 2.3Gi 3.2Gi 0.0Ki 2.2Gi 5.2Gi Swap: 99Mi 0B 99Mi Total: 7.8Gi 2.3Gi 3.3Gi *** Nodejs-Installation *** /usr/bin/nodejs v18.12.0 /usr/bin/node v18.12.0 /usr/bin/npm 8.19.2 *** ioBroker-Installation *** js-controller: 4.0.23 Updates + Repos: Used repository: beta *** User und Gruppen *** echad /home/echad echad adm dialout cdrom sudo audio video plugdev games users input render netdev gpio i2c spi iobroker *** Server-Setup *** Konsole: tty Desktop: *** Repositories und OS-Updates *** Hit:1 http://deb.debian.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye-updates InRelease Hit:3 http://security.debian.org/debian-security bullseye-security InRelease Hit:4 http://phoscon.de/apt/deconz bullseye InRelease Hit:5 http://deb.debian.org/debian bullseye-backports InRelease Hit:6 http://archive.raspberrypi.org/debian bullseye InRelease Hit:7 http://packages.azlux.fr/debian bullseye InRelease Hit:8 https://packages.grafana.com/oss/deb stable InRelease Hit:9 https://deb.nodesource.com/node_10.x bullseye InRelease Hit:10 https://repos.influxdata.com/debian bullseye InRelease Hit:11 https://deb.nodesource.com/node_12.x bullseye InRelease Hit:12 https://deb.nodesource.com/node_14.x bullseye InRelease Hit:13 https://deb.nodesource.com/node_16.x bullseye InRelease Hit:14 https://packages.redis.io/deb bullseye InRelease Hit:15 https://deb.volian.org/volian scar InRelease Hit:16 https://deb.nodesource.com/node_18.x bullseye InRelease Hit:18 https://deb.nodesource.com/node_19.x bullseye InRelease Get:19 https://pkgs.tailscale.com/stable/debian bullseye InRelease Hit:17 https://packagecloud.io/ookla/speedtest-cli/debian bullseye InRelease Fetched 5,545 B in 3s (1,694 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. nodejs: Installed: 18.12.0-deb-1nodesource1 Candidate: 18.12.0-deb-1nodesource1 Version table: 19.0.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_19.x bullseye/main arm64 Packages *** 18.12.0-deb-1nodesource1 501 500 https://deb.nodesource.com/node_18.x bullseye/main arm64 Packages 100 /var/lib/dpkg/status 16.18.0-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages 14.20.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_14.x bullseye/main arm64 Packages 12.22.12-deb-1nodesource1 500 500 https://deb.nodesource.com/node_12.x bullseye/main arm64 Packages 12.22.12~dfsg-1~deb11u1 500 500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main arm64 Packages 10.24.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_10.x bullseye/main arm64 Packages ========== Bis hier kopieren =========== iob diag wurde beendet.Bitte nicht über den wilden Zoo an Repos wundern, das ist mein Test/Frickel-System, das soll so!

@thomas-braun Habe heute das Script mal laufen lassen. Den Schluß finde ich sehr interessant.
Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.e2-openwebif.0 : e2-openwebif : iobroker - enabled + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: adminWarum wir mein Adapter dort angezeigt

Habe diesen nicht im Repo weil ich keine Lust habe eine ANleitung zu schreiben.Gruß//Lucky
-
@thomas-braun Habe heute das Script mal laufen lassen. Den Schluß finde ich sehr interessant.
Status admin and web instance: + system.adapter.admin.0 : admin : iobroker - enabled, port: 8081, bind: 0.0.0.0, run as: admin + system.adapter.e2-openwebif.0 : e2-openwebif : iobroker - enabled + system.adapter.web.0 : web : iobroker - enabled, port: 8082, bind: 0.0.0.0, run as: adminWarum wir mein Adapter dort angezeigt

Habe diesen nicht im Repo weil ich keine Lust habe eine ANleitung zu schreiben.Gruß//Lucky
@lucky_esa sagte in iob diag - Skript:
Warum wir mein Adapter dort angezeigt
Weil der die Buchstabenfolge
webenthält.
Mittlerweile ist der Code an der Stelle aber auch etwas anders und die Ausgabe sollte eigentlich anders aussehen.
Versuch mal direkt aus meinem github die Beta des Skripts aufzurufen. -
@lucky_esa sagte in iob diag - Skript:
Warum wir mein Adapter dort angezeigt
Weil der die Buchstabenfolge
webenthält.
Mittlerweile ist der Code an der Stelle aber auch etwas anders und die Ausgabe sollte eigentlich anders aussehen.
Versuch mal direkt aus meinem github die Beta des Skripts aufzurufen.@thomas-braun sagte in iob diag - Skript:
Weil der die Buchstabenfolge web enthält.im Code
iobroker list instances | grep 'admin.\|system.adapter.web.' -
@lucky_esa sagte in iob diag - Skript:
Warum wir mein Adapter dort angezeigt
Weil der die Buchstabenfolge
webenthält.
Mittlerweile ist der Code an der Stelle aber auch etwas anders und die Ausgabe sollte eigentlich anders aussehen.
Versuch mal direkt aus meinem github die Beta des Skripts aufzurufen.Versuch mal direkt aus meinem github die Beta des Skripts aufzurufen.
Wenn ich Zeit finde werde ich das noch mal prüfen
Ist ja nicht so schlimm...Gruß//Lucky
-
@thomas-braun sagte in iob diag - Skript:
Weil der die Buchstabenfolge web enthält.im Code
iobroker list instances | grep 'admin.\|system.adapter.web.'Das ist aber der aktuelle Code aus der Beta.
Ich glaube in deriob diagVersion wird nur nach 'web' gegreppt. Deswegen die 'false positives' an der Stelle. -
Das ist aber der aktuelle Code aus der Beta.
Ich glaube in deriob diagVersion wird nur nach 'web' gegreppt. Deswegen die 'false positives' an der Stelle.Sieht fast aktuell aus :
SKRIPTV="2023-06-20"; #version of this script
https://github.com/ioBroker/ioBroker/blob/master/diag.sh#L424
-
Sieht fast aktuell aus :
SKRIPTV="2023-06-20"; #version of this script
https://github.com/ioBroker/ioBroker/blob/master/diag.sh#L424
@glasfaser
Ja, das ist aktuell.
Ich bastel gerade noch an einem 'nodeFall'-Aufräumskript. -
@glasfaser
Ja, das ist aktuell.
Ich bastel gerade noch an einem 'nodeFall'-Aufräumskript.@thomas-braun sagte in iob diag - Skript:
'nodeFall'-Aufräumskript.
Meinst du sowas ... in der Art :
npm dedupe
-
@thomas-braun sagte in iob diag - Skript:
'nodeFall'-Aufräumskript.
Meinst du sowas ... in der Art :
npm dedupe
Nee, hab die Nase voll vom nodejs gerade ziehen. Ich versuche die üblichen Fälle von 'irgendwie ins System geprügelt' und/oder nicht fähig eine Ziffer in einer Datei auszutauschen in einem Skript zu heilen.
-
Nee, hab die Nase voll vom nodejs gerade ziehen. Ich versuche die üblichen Fälle von 'irgendwie ins System geprügelt' und/oder nicht fähig eine Ziffer in einer Datei auszutauschen in einem Skript zu heilen.
@thomas-braun sagte in iob diag - Skript:
'irgendwie ins System geprügelt' und/oder nicht fähig eine Ziffer in einer Datei auszutauschen
in einem SkriptOT :
Du kannst ja ... beim "Haifisch" mal schauen vielleicht hat er sowas
:: 
ach nee die kommen hier immer hin .
SORRY .. konnte ich mir nicht verkneifen

-
@thomas-braun sagte in iob diag - Skript:
'irgendwie ins System geprügelt' und/oder nicht fähig eine Ziffer in einer Datei auszutauschen
in einem SkriptOT :
Du kannst ja ... beim "Haifisch" mal schauen vielleicht hat er sowas
:: 
ach nee die kommen hier immer hin .
SORRY .. konnte ich mir nicht verkneifen

Ich habe mal einen Versuch gestartet eine verbogene nodejs-Installation wieder gerade zu biegen und auch ein Update auf nodejs 18 kann man jetzt damit versuchen.
Die Abfrage ob die Installation gefixt werden soll kommt auch nur bei einer erkannten schiefen Ausgangslage, da muss man ggf. zum testen selber gegen die node-Installation treten und die 'kaputt' machen.
Zum Beispiel so:sudo touch /usr/local/bin/nodejs sudo chmod +x /usr/local/bin/nodejsDer Code ist aber offengesagt noch etwas unfertig, also nur für Wagemutige!
(Backup der nodesource.list irgendwo anders parken als in /etc/apt/sources.list.d ist dringend angeraten!)
Docker und alles was kein
aptan Bord hat bleibt außen vor.
LXC sollten aber funktionieren. Auf meinem Debian 'Trixie' (Testing) läuft es aber soweit ich das testen konnte. -
Ich habe mal einen Versuch gestartet eine verbogene nodejs-Installation wieder gerade zu biegen und auch ein Update auf nodejs 18 kann man jetzt damit versuchen.
Die Abfrage ob die Installation gefixt werden soll kommt auch nur bei einer erkannten schiefen Ausgangslage, da muss man ggf. zum testen selber gegen die node-Installation treten und die 'kaputt' machen.
Zum Beispiel so:sudo touch /usr/local/bin/nodejs sudo chmod +x /usr/local/bin/nodejsDer Code ist aber offengesagt noch etwas unfertig, also nur für Wagemutige!
(Backup der nodesource.list irgendwo anders parken als in /etc/apt/sources.list.d ist dringend angeraten!)
Docker und alles was kein
aptan Bord hat bleibt außen vor.
LXC sollten aber funktionieren. Auf meinem Debian 'Trixie' (Testing) läuft es aber soweit ich das testen konnte.Hab heute noch was weitergecodet, jetzt dürften auch Downgrades von höheren nodejs-Versionen auf den jeweils empfohlenen Zweig funktionieren.
Vielleicht sollte man den Code aber aus
iob diagheraunehmen und in ein eigenes Skript auslagern?iob nodefixoder so?
Denn eigentlich wollte ich mit dem diag wirklich nur den Zustand des Systems diagnostizieren, nichts fixen. -
Hab heute noch was weitergecodet, jetzt dürften auch Downgrades von höheren nodejs-Versionen auf den jeweils empfohlenen Zweig funktionieren.
Vielleicht sollte man den Code aber aus
iob diagheraunehmen und in ein eigenes Skript auslagern?iob nodefixoder so?
Denn eigentlich wollte ich mit dem diag wirklich nur den Zustand des Systems diagnostizieren, nichts fixen.Habe mal quer rübergeschaut .
iob stop echo "Waiting for ioBroker to shut down - Give me a minute..." iob stopin ein eigenes Skript auslagern?
dann mußt du es wieder für Container anpassen
....
pkill -u iobrokerdann aber , muß danach der Container neu gestartet werden .. also nicht mit "iob start "
-
Habe mal quer rübergeschaut .
iob stop echo "Waiting for ioBroker to shut down - Give me a minute..." iob stopin ein eigenes Skript auslagern?
dann mußt du es wieder für Container anpassen
....
pkill -u iobrokerdann aber , muß danach der Container neu gestartet werden .. also nicht mit "iob start "
Das ist der Part, den ich nicht testen kann. Hatte an pkill bei Containern ehrlich gesagt gar nicht gedacht.
Den Docker hab ich aber schon gleich von vorneherein ausgeschlossen. -
Das ist der Part, den ich nicht testen kann. Hatte an pkill bei Containern ehrlich gesagt gar nicht gedacht.
Den Docker hab ich aber schon gleich von vorneherein ausgeschlossen.@thomas-braun sagte in iob diag - Skript:
ehrlich gesagt gar nicht gedacht.
Ich würde es nicht mit einem Script machen ... du siehst ja selber was so andere ........ daraus machen .
Meine Meinung !
-
@thomas-braun sagte in iob diag - Skript:
ehrlich gesagt gar nicht gedacht.
Ich würde es nicht mit einem Script machen ... du siehst ja selber was so andere ........ daraus machen .
Meine Meinung !
Ich kenne das ja nur zu gut.
Die ganz verworrenen Installationen bekommst du damit auch nicht in den Griff.Aber die einfachen Fälle wie falsche Pfade usw. schon.
-
Habe mal quer rübergeschaut .
iob stop echo "Waiting for ioBroker to shut down - Give me a minute..." iob stopin ein eigenes Skript auslagern?
dann mußt du es wieder für Container anpassen
....
pkill -u iobrokerdann aber , muß danach der Container neu gestartet werden .. also nicht mit "iob start "
-
Ich kenne das ja nur zu gut.
Die ganz verworrenen Installationen bekommst du damit auch nicht in den Griff.Aber die einfachen Fälle wie falsche Pfade usw. schon.
@thomas-braun sagte in iob diag - Skript:
Die ganz verworrenen Installationen bekommst du damit auch nicht in den Griff.
richtig ... dann ist er root und ....
@thomas-braun sagte in iob diag - Skript:
iob nodefix oder so?dann würde ich eine Sperre dazu einbauen.
Aber .. darüber kann man hier ein Buch sreiben

-
@thomas-braun sagte in iob diag - Skript:
Die ganz verworrenen Installationen bekommst du damit auch nicht in den Griff.
richtig ... dann ist er root und ....
@thomas-braun sagte in iob diag - Skript:
iob nodefix oder so?dann würde ich eine Sperre dazu einbauen.
Aber .. darüber kann man hier ein Buch sreiben

Restart des Containers geht nicht per skript, vermute ich. Muss von außen angestoßen werden?
if [ "$SYSTDDVIRT" != "" ]; then echo "Please restart your container"; else iob restart; fi; -
@thomas-braun sagte in iob diag - Skript:
Die ganz verworrenen Installationen bekommst du damit auch nicht in den Griff.
richtig ... dann ist er root und ....
@thomas-braun sagte in iob diag - Skript:
iob nodefix oder so?dann würde ich eine Sperre dazu einbauen.
Aber .. darüber kann man hier ein Buch sreiben

@glasfaser sagte in iob diag - Skript:
richtig ... dann ist er root und ....
iob diag hat jetzt so eine Sperre. Kannst du als root nicht mehr so einfach aufrufen. Außer du dockerst da herum. Das hab ich ausgenommen.