Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Thomas Braun

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Profile
    • Following 1
    • Followers 53
    • Topics 125
    • Posts 49685
    • Best 5363
    • Groups 4

    Thomas Braun

    @Thomas Braun

    Most Active

    6427
    Reputation
    3791
    Profile views
    49685
    Posts
    53
    Followers
    1
    Following
    Joined Last Online

    Thomas Braun Follow
    Developer Pro Starter Most Active

    Best posts made by Thomas Braun

    • Der kleine ioBroker/Linux-Werkzeugkasten

      Der kleine ioBroker/Linux-Werkzeugkasten

      Wenn der ioBroker und/oder der Server, auf dem der ioBroker lebt, aus irgendwelchen Gründen anfängt herum zu zicken, sollte man da 'von Grund auf' sein System auf ein paar wesentliche Dinge abklopfen.

      root login

      Seit Jahren nicht mehr 'erlaubt', den root gibt es nur noch aus technischen Gründen im Hintergrund. (Ausnahme: Docker auf einer Synology, da gibt es zu meinem Leidwesen wohl leider keine gescheite Nutzerverwaltung). Sein System administriert man über einen Standarduser mit Standardrechten, der allerdings kurzzeitig über den vorangestellten Befehl

      sudo
      

      in die Rolle des roots schlüpfen kann, dann aber sofort wieder in seine Standardrolle zurückfällt. Das ist so auf einem üblichen System und wird auch nicht umgestellt, weil 'das blöd ist' oder 'nur kurz' oder aus 'auf meinem System darf ich alles, ich bin natürlich root'-Allmachtsphantasien. Und auch sudo selber wird nur dann verwendet, wenn es erforderlich ist. Nicht erforderlich ist es z. B. in Verbindung mit den Befehlen npm und iobroker! In der Kombination falsch eingesetzt kann es das System zerschießen!

      Test:

      Als Standarduser

      groups
      

      ausführen, dann sollte da ein Eintrag sudo zu finden sein. Wenn nicht, dann

      Fix:
      Als root

      usermod -aG sudo USERNAME
      

      und danach nie mehr als root einloggen!

      Falls es noch gar keinen Standard-User geben sollte:

      adduser username
      usermod -aG sudo username
      

      username ist durch den gewünschten Username zu ersetzen. Dabei verwendet man am besten nur Kleinbuchstaben und nennt den neuen user NICHT iobroker. Viele haben ja einen schönen Vornamen, den kann man da wunderbar verwenden.

      Terminal für Faule

      TAB-Taste: Befehle und Befehlsoptionen können u. U. per TAB-Taste von der bash vervollständigt werden. Keiner tippt solche Befehle vollständig ein.

      Man tippt da nur die ersten paar Buchstaben wie z. B.
      sudo syst TAB c TAB stat TAB iob TAB ein und das steht dann automagisch in der Konsole:

      sudo systemctl status iobroker.service
      

      Wenn man zufrüh tabbt und es noch mehrere Möglichkeiten der Ergänzung gibt schlägt die Konsole die verbliebenen Möglichkeiten auf und man kann sich daran weiterhangeln.

      RunLevel 5 / graphische Oberfläche

      Server werden aus diversen Gründen (Stabilität, Ressourcenverbrauch, Sicherheit) generell ohne graphische Oberfläche betreiben. Die dafür vorgesehene Betriebsart wird RunLevel 3 genannt. Nur wenn am Server ein Display für die Darstellung der Visualisierung des ioBrokers hängt wird ein Server ausnahmsweise in RunLevel 5 betrieben.

      Test:
      who -r
      

      liefert RunLevel 3 zurück:

      pi@raspberrypi:~ $ who -r
               Runlevel 3   2021-03-03 22:01
      

      Für andere Systeme kann man das per

      echad@chet:~ $ systemctl get-default
      multi-user.target
      

      prüfen. Hier entspricht multi-user.target dem run level 3.

      Fix:

      Auf dem RaspberryPi am besten per

      sudo raspi-config
      

      in das Systemmenü gehen und dort die Menüpunkte

      1 System Options       Configure system settings
      S5 Boot / Auto Login   Select boot into desktop or to command line
      B1 Console             Text console, requiring user to login
      

      auswählen.
      Auf anderen Systemen stellt man das per

      sudo systemctl set-default multi-user.target
      

      ein.

      Systemupdate

      Seinen Debian-basierten Server (dazu gehört z. B. auch das Raspberry OS vom Raspberry Pi, Ubuntu, Armbian) aktuell und 'auf Stand' zu halten braucht es nur wenig Handwerkszeug. Die installierte Software (im Idealfall auch zusätzliche Pakete von Drittanbietern wie deconz, nodeJS von nodesource) wird sehr komfortabel und zentral über den Paketmanager gehandhabt.

      Mit diesem 'Dreisatz' wird automatisch ein System inkl. aller über den Paketmanager installierten Software auf den aktuellen Stand gebracht:

      sudo apt update
      sudo apt dist-upgrade
      sudo reboot
      

      Das sollte man regelmäßig so ein oder zweimal im Monat machen. So bleiben die Upgrades übersichtlich und Sicherheitslücken werden einigermaßen zeitnah gestopft. Generell gilt: Je häufiger ich das mache desto weniger Trouble gibt es. 'Never change a running system' ist grundfalsch.

      Test:
      sudo apt update
      

      sollte ungefähr so aussehen:

      pi@raspberrypi:~ $ sudo apt update
      Hit:1 http://deb.debian.org/debian bullseye InRelease
      Hit:2 http://deb.debian.org/debian bullseye-updates InRelease
      Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:4 http://security.debian.org/debian-security bullseye-security InRelease
      Hit:5 https://repos.influxdata.com/debian bullseye InRelease
      Hit:6 https://packages.grafana.com/oss/deb stable InRelease
      Hit:7 https://deb.nodesource.com/node_14.x bullseye InRelease
      InRelease
      Fetched 5,536 B in 2s (2,348 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      All packages are up to date.
      

      Wichtig ist, dass hier keine Vermischungen von Releases enthalten sind. In obigem Beispiel kommen alle Pakete in der Version für das aktuelle Release von Debian namens 'Bullseye' daher. Da dürfen keine Einträge zu jessie, stretch oder buster oder sonstwas drinstehen. Allenfalls darf da noch 'stable' erwähnt werden, denn Bullseye ist z. Zt. das stable release von Debian. (Die release names von Ubuntu lauten anders, wichtig ist die Einheitlichkeit der release names)

      Fix:
      Wenn dort ausstehende Updates angezeigt werden

      sudo apt update
      sudo apt full-upgrade
      sudo reboot
      

      NodeJS

      Wenn von vorneherein sauber installiert läuft das über das regelmäßig durchgeführte Systemupdate mit.

      Test:
      type -P nodejs && nodejs -v && type -P node && node -v && type -P npm && npm -v && type -P npx && npx -v && apt policy nodejs
      

      schaut etwa so aus:

      pi@raspberrypi:~ $ which nodejs && nodejs -v && which node && node -v && which npm && npm -v && apt policy nodejs
      /usr/bin/nodejs
      v14.16.0
      /usr/bin/node
      v14.16.0
      /usr/bin/npm
      6.14.11
      /usr/bin/npx
      6.14.11
      nodejs:
        Installiert:           14.16.0-1nodesource1
        Installationskandidat: 14.16.0-1nodesource1
        Versionstabelle:
       *** 14.16.0-1nodesource1 500
              500 https://deb.nodesource.com/node_14.x buster/main armhf Packages
              100 /var/lib/dpkg/status
           12.21.0-1nodesource1 500
              500 https://deb.nodesource.com/node_12.x buster/main armhf Packages
           10.24.0-1nodesource1 500
              500 https://deb.nodesource.com/node_10.x buster/main armhf Packages
           10.24.0~dfsg-1~deb10u1 500
              500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
      

      Wichtig und richtig ist:

      nodejs liegt in /usr/bin
      node liegt in /usr/bin
      npm liegt in /usr/bin

      und nicht in /usr/local/bin
      und die Versionsnummer von nodejs und node ist a) gleich und b) gerade.
      Ungerade Versionsnummern sind experimentelle Versionen und sollten nicht bzw. nur zu Testzwecken verwendet werden.

      Gleiches gilt für npm und npx. Hier sind allerdings ungerade Versionsnummern okay.

      Fix:
      Bitte hier weiterlesen:
      https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

      ioBroker-Verwahrort

      Der vorgesehene Verwahrort für Adapter ist 'stable', der 'beta'-Bereich sollte nur in begründeten Fällen verwendet werden.

      Test
      iobroker repo list
      

      schaut etwa so aus

      pi@raspberrypi:~ $ iobroker repo list
      stable      : http://download.iobroker.net/sources-dist.json
      beta        : http://download.iobroker.net/sources-dist-latest.json
      live-beta   : http://iobroker.live/repo/sources-dist-latest.json
      live-stable : http://iobroker.live/repo/sources-dist.json
      
      Active repo: stable
      

      Fix:

      iobroker repo set stable
      

      ioBroker-Adapterupdate

      Im täglichen Betrieb funktioniert das ganz analog zum Systemupdate.
      Über 'die Katze' bzw. aus dem github werden regulär gar keine Adapter installiert. Dort liegt Code, an dem gerade gearbeitet wird und nur der Developer kann sagen in welchem Zustand der Adapter von dort gerade ist. Diese Version setzt man nur in Absprache mit dem Developer für Testzwecke ein, nie dauerhaft produktiv.

      Test:
      iobroker update | grep -i updateable
      

      sieht so aus

      pi@raspberrypi:~ $ iobroker update | grep updateable
      pi@raspberrypi:~ $
      

      Fix:

      iobroker upgrade
      

      Updates des sehr zentralen js-controllers macht man etwas anders und richtet sich dann auch nach der jeweiligen Installation (Multihost z. B.). Das dann bitte in der entsprechenden Ankündigung im Forum aktuell nach lesen.

      ioBroker Fixer

      Eine 'Allzweckwaffe' bei merkwürdigem/zickigem Verhalten (Adapter bleibt rot in der Admin-Ansicht) auch einzelner Adapter (z. B. ble und radar2 sind da regelmäßige Kandidaten) ist ein

      iobroker stop
      iobroker fix
      iobroker restart
      

      Damit werden unter anderem z. B. bei einem Update verloren gegangene Rechte wieder eingeräumt und die Adapter können wieder funktionieren.
      Den Fixer kann man auch 'auf Verdacht' mal laufen lassen.

      Hilft alles nix

      Wenn man sein System und den ioBroker auf die üblichen Dinge von oben abgeklopft hat und immer noch rumzickt postet man am besten relevante Auszüge aus dem log file des ioBrokers. Am liebsten ist es den Helfern im Forum, wenn das in dieser Form erfolgt:
      Man öffnet eine zweite Konsolen-Sitzung über sein Terminalprogramm und schaut per

      iobroker logs --watch | uniq
      

      in das laufende log file rein. Dann agiert man in der ersten Konsole und/oder in der Weboberfläche des ioBrokers und versucht entsprechende Meldungen im log file zu provozieren. Diese kopiert man dann in sein Forumsthema rein, markiert die gesamte Ausgabe aus der Konsole und klickt dann das </> - Symbol über dem kleinen Editor-Fenster an. (Alternativ: Zuerst das </> anklicken, dann den Text aus der Zwischenablage zwischen die Steuercodes setzen).
      d9f58211-5b56-42bf-b0b1-a876e3065e09-image.png

      Dann wird der Text in ähnlicher Form wie er auch in der Konsole erschien chronologisch korrekt dargestellt und ist wesentlich besser zu lesen.
      Sieht dann so aus:

      pi@raspberrypi:/opt/iobroker $ iobroker logs --watch | uniq
      2021-03-06 03:31:22.078  - warn: mihome-vacuum.0 (1391) no answer received after after 3 times -> pause miIO.info try again in one hour
      

      Gerne auch vollständig inkl. login prompt und Pfaden wie oben zu sehen. Auch aus diesen Informationen kann man ggf. was hilfreiches ableiten.

      Bitte keine Screenshots des log files aus dem admin posten, die Funktion nutzt man nur für einen schnellen Blick in das log file um zu sehen ob da Handlungsbedarf besteht.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • Mini-HowTo: Cannot find view "system" for search "host"

      User, die plötzlich nicht mehr in den ioBroker kommen und auf der Kommandozeile auf ein freundliches

      iobroker status
      

      so frech begrüßt werden:

      iobroker status
       Cannot read system.config: null (OK when migrating or restoring)
       Cannot find view "system" for search "host"
      iobroker is running on this host.
      

      können mal folgendes versuchen:

      Mit

      ls -lh /opt/iobroker/iobroker-data/backup-objects/ | grep objects
      

      bekommt man so etwas in der Art zu sehen:

      ls -lh /opt/iobroker/iobroker-data/backup-objects/
      total 19240
      -rw-rwxr--+ 1 iobroker iobroker 895277 Mar 16 16:23 2021-03-16_16-23_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 113674 Mar 16 16:23 2021-03-16_16-23_states.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 113571 Mar 16 16:47 2021-03-16_16-47_states.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 895066 Mar 16 16:48 2021-03-16_16-48_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 112795 Mar 16 16:51 2021-03-16_16-51_states.json.gz
      -rw-rwxr--+ 1 iobroker iobroker      0 Mar 16 16:53 2021-03-16_16-53_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker   3505 Mar 16 16:56 2021-03-16_16-56_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker      0 Mar 16 16:56 2021-03-16_16-56_states.json.gz
      -rw-rwxr--+ 1 iobroker iobroker   3505 Mar 16 16:57 2021-03-16_16-57_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 112864 Mar 16 16:57 2021-03-16_16-57_states.json.gz
      

      Man schaut wann zuerst 'auffällige' Dateien mit Dateigröße 0 oder auffälligem Schwund zwischen zwei Dateien auftauchen, wie hier:

      -rw-rw-r--+ 1 iobroker iobroker 1681373 Mar 16 18:00 2021-03-16_18-00_objects.json.gz
      -rw-rw-r--+ 1 iobroker iobroker    3504 Mar 16 18:11 2021-03-16_18-11_objects.json.gz
      

      und guckt sich die letzten intakten Dateien davor aus. Im Beispiel diese:

      -rw-rwxr--+ 1 iobroker iobroker 895066 Mar 16 16:48 2021-03-16_16-48_objects.json.gz
      -rw-rwxr--+ 1 iobroker iobroker 112795 Mar 16 16:51 2021-03-16_16-51_states.json.gz
      

      Die gleiche Übung muss ggf. auch für die states-Datenbank durchgeführt werden.

      Mit

      ls -lh /opt/iobroker/iobroker-data/backup-objects/ | grep states
      

      sieht man die, dann weiter wie oben mit den objects schon geschehen.

      Mit folgender Befehlsfolge kann man u. U. den ioBroker wieder beleben:
      (Bei Verwendung von jsonl ändern sich die Dateinamen entsprechend! Dann also json durch jsonl ersetzen!)

      iobroker stop
      cd /opt/iobroker/iobroker-data/
      mv objects.json objects.json.old
      mv states.json states.json.old
      cd backup-objects/
      gunzip -ck INTAKTE_DATEI_objects.json.gz > /opt/iobroker/iobroker-data/objects.json
      gunzip -ck INTAKTE_DATEI_states.json.gz > /opt/iobroker/iobroker-data/states.json
      iobroker start
      

      INTAKTE_DATEI dabei mit dem zuvor ausgeguckten Dateinamen ersetzen.

      Mit freundlicher Empfehlung von @wendy2702

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • Upgrade von Debian 11/Bullseye auf 12/Bookworm

      Vorab:
      Debian 12 'Bookworm' ist am 10.06.2023 als stabil veröffentlicht worden.
      Raspberry OS 'Bullseye' ist seit dem 10. Oktober 2023 auch verfügbar. Hier ist allerdings ein in-line-Upgrade von der Vorversion nicht so einfach wie in der Vergangenheit möglich. Es sollte hier eine komplette Neuinstallation vorgenommen werden.

      Desweiteren würde ich empfehlen die Gelegenheit zu nutzen und 32bit-Systeme auf Raspberry Pi-Kisten auf 64bit umzustellen. Das funktioniert allerdings nicht wie hier vorgestellt, bei einem Wechsel der CPU-Architektur ist eine Neuinstallation erforderlich. Desweiteren gilt für Raspberry OS die dringende Empfehlung einer Neuinstallation:

      Edit:
      Diesmal rät Raspberry OS allerdings noch dringender als sonst dazu, die Systeme nicht von einem zum anderen Release rüberzuheben, sondern eine komplette Neuinstallation zu machen:

      Wichtig zu wissen: Früher empfahl man eine frische Installation, aber es war möglich, vom Vorgänger zu aktualisieren. Die jetzige Installation sollte aber auf jeden Fall neu sein.
      Da die Änderungen an der zugrundeliegenden Architektur so signifikant sind, schlägt man dieses Mal keine Prozedur vor, um ein Bullseye-Image auf Bookworm zu aktualisieren; jeder Versuch, dies zu tun, wird mit ziemlicher Sicherheit mit einem nicht bootenden Desktop und Datenverlust enden.
      Die einzige Möglichkeit, Bookworm zu bekommen, ist entweder eine SD-Karte mit dem Raspberry Pi Imager zu erstellen oder ein Bookworm-Image von hier herunterzuladen und mit dem Tool der Wahl zu flashen.

      Gilt aber auch für ein System ohne Desktop, bei meinen Versuchen hab ich schwer mit dem Bootvorgang zu kämpfen, den aktuellen Kernel habe ich nicht vollständig gestartet bekommen.

      Wer es entgegen aller Warnungen versuchen möchte:

      https://www.heise.de/hintergrund/Raspberry-Pi-OS-InPlace-Upgrade-von-Bullseye-auf-Bookworm-wagen-9999516.html

      #Upgrade von Debian 11 'Bullseye' auf Debain 12 'Bookworm'

      Gegeben ist ein System, auf dem 'Debian 11 - Bullseye' läuft:

      pi@mysterium2:~ $ lsb_release -a
      No LSB modules are available.
      Distributor ID: Raspbian
      Description:    Raspbian GNU/Linux 11 (bullseye)
      Release:        11
      Codename:       bullseye
      

      Der Stand soll auf Debian 12 'Bookworm' gehoben werden. Ich mache das wie folgt:

      Zunächst alles auf den letzten Stand bringen

      pi@mysterium2:~ $ sudo apt update
      Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
      Hit:3 https://deb.nodesource.com/node_18.x bullseye InRelease
      Get:4 https://pkgs.tailscale.com/stable/raspbian bullseye InRelease
      Fetched 6,522 B in 6s (1,042 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      113 packages can be upgraded. Run 'apt list --upgradable' to see them.
      

      Wenn in der Liste irgendwas mit bullseye-backports oder bullseye-propsed-updates oder ähnliches auftauchen sollte, dann ist diese Quelle zuvor zu deaktivieren. Ebenso andere manuelle Eingriffe in die Paket-Datenbank. Z.B. ein apt-hold auf das Paket 'udev' ist ja von einigen getätigt worden, diese Sperren müssen aufgehoben werden. Kann man per

      apt-mark showhold
      

      prüfen. Die aufgelisteten Pakete dann mit

      sudo apt-mark unhold `apt-mark showhold`
      

      wieder frei laufen lassen.

      Also

      sudo apt full-upgrade
      sudo reboot
      

      Nach dem reboot dürfen keine Pakete mehr in der Pipeline hängen.

      pi@mysterium2:~ $ sudo apt update
      Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
      Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:3 https://deb.nodesource.com/node_18.x bullseye InRelease
      Get:4 https://pkgs.tailscale.com/stable/raspbian bullseye InRelease
      Fetched 6,522 B in 2s (3,644 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      All packages are up to date.
      

      Prima, jetzt ist die Basis stabil und wir können auf bookworm/Debian12 umschwenken.

      In die Datei /etc/apt/sources.list kopieren wir diese neuen Zeilen rein, die alten Einträge fliegen dafür raus:
      Via

      sudo nano /etc/apt/sources.list
      

      das einkopieren:

      deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
      deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
      deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
      # Uncomment deb-src lines below then 'apt-get update' to enable 'apt-get source'
      deb-src http://deb.debian.org/debian bookworm main contrib non-free
      deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free
      deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free
      

      Zusätzlich stellen wir auch noch weitere Dateien auf bookworm um:

      sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
      sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*
      

      Wenn ein erneutes

      sudo apt update
      

      Meldungen wie die folgende ergibt:

      Err:2 http://deb.debian.org/debian bookworm InRelease
        The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 648ACFD622F3D138 NO_PUBKEY 0E98404D386FA1D9
      

      muss der Schlüssel jeweils herangezogen werden.
      Macht man so:

      sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
      

      Die ID des keys übernimmt man natürlich aus der vorherigen Meldung.

      Das macht man mit allen fehlenden Schlüsseln, bis es so oder so ähnlich aussieht, die Meldungen bzgl. der Schlüssel also nicht mehr vorhanden sind:

      pi@mysterium2:~ $ sudo apt update
      Hit:1 http://archive.raspberrypi.org/debian bookworm InRelease
      Hit:2 http://deb.debian.org/debian bookworm InRelease
      Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
      Hit:4 http://security.debian.org/debian-security bookworm-security InRelease
      Hit:5 http://raspbian.raspberrypi.org/raspbian bookworm InRelease
      Hit:6 https://deb.nodesource.com/node_18.x bookworm InRelease
      Get:7 https://pkgs.tailscale.com/stable/debian bookworm InRelease
      Fetched 6,522 B in 3s (2,404 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      445 packages can be upgraded. Run 'apt list --upgradable' to see them.
      

      Auch dürfen da keine Einträge mit bullseye mehr vorkommen.

      Vor dem eigentlichen Upgrade schaut man per

      sudo apt -o APT::Get::Trivial-Only=true full-upgrade
      

      nach ob auch genug Platz auf dem Datenträger ist. Wenn E: You don't have enough free space in /var/cache/apt/archives/. gemeldet wird sollte man vorher aufräumen, z. B. per

      sudo apt clean
      

      Jetzt aber los...

      sudo apt update
      sudo apt full-upgrade
      

      Wenn während des Upgrades Rückfragen kommen, ob eine neue Version einer Konfig-Datei eingespielt werden soll bitte immer mit yes bestätigen. Es wird von der ursprünglichen Datei eine Kopie mit der Endung .dpkg-old gespeichert, welche bei Bedarf dann zurückgespielt werden kann.
      Gleiches gilt für die Frage, ob Services automatisch neugestartet werden sollen.
      Aus der Anzeige des ChangeLogs kommt man durch Eingabe von q heraus.

      Jetzt holt man sich einen Kaffee (alternativ Club Mate) und schaut wie ein Superhacker mit schwarzem Kaputzenpulli und koffeinhaltigem Getränk in der Hand angestrengt auf die vorbeilaufenden Meldungen im Terminal und haut gelegentlich bei den obengenannten Rückfragen auf die Y-Taste.

      Wenn alles durchgelaufen ist und nach einem beherzten

      sudo reboot
      

      befinden wir uns in Debian 12 'Bookworm'

             _,met$$$$$gg.          pi@mysterium2
          ,g$$$$$$$$$$$$$$$P.       -------------
        ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 12 (bookworm) armv7l
       ,$$P'              `$$$.     Host: Raspberry Pi 3 Model B Plus Rev 1.3
      ',$$P       ,ggs.     `$$b:   Kernel: 6.1.21-v7+
      `d$$'     ,$P"'   .    $$$    Uptime: 1 hour, 31 mins
       $$P      d$'     ,    $$P    Packages: 711 (dpkg)
       $$:      $$.   -    ,d$$'    Shell: bash 5.2.15
       $$;      Y$b._   _,d$P'      Terminal: /dev/pts/0
       Y$$.    `.`"Y$$$$P"'         CPU: BCM2835 (4) @ 1.400GHz
       `$$b      "-.__              Memory: 70MiB / 965MiB
        `Y$$
         `Y$$.
           `$$b.
             `Y$$b.
                `"Y$b._
                    `"""
      

      Falls Meldungen bei einem

      sudo apt update
      

      bezüglich apt-key auftauchen:

      W: http://security.debian.org/debian-security/dists/bookworm-security/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: http://raspbian.raspberrypi.org/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: http://deb.debian.org/debian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: http://archive.raspberrypi.org/debian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: http://deb.debian.org/debian/dists/bookworm-updates/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: http://archive.raspberrypi.org/debian/dists/bullseye/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      W: https://pkgs.tailscale.com/stable/debian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
      

      kann man die noch an eine andere Stelle schieben:

      sudo mv /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/
      

      Das ist zwar nicht der Königsweg, sorgt aber dafür das die Meldungen für das erste verschwinden.

      Fertig, viel Spaß mit dem Bücherwurm / Debian 12.

      posted in Off Topic
      Thomas Braun
      Thomas Braun
    • [HowTo] Nodejs-Installation und Upgrades unter Debian

      Die nachfolgende Anleitung steht nur noch aus historischen Gründen hier. Mittlerweile führt man am besten einen Wechsel der Version per

      iob nodejs-update 
      

      durch. Gegebenfalls zuvor per iob fix den Befehl noch bekannt machen.

      Teil 1: Installation und Update
      Teil 2: Installationen geradeziehen (siehe 2. Posting im Thread)

      Vorwort:
      Bis auf Ausnahmefälle (z. B. bei Docker auf einer Synology) wird ein auf Debian basierendes System seit Jahren NICHT mehr per direktem root-login administriert, sondern als normaler user mittels 'sudo'. Solche login prompts sind also unnötig und 'gefährlich':

      root@raspberrypi:~#
      

      Nicht machen!

      HINWEIS:
      Das derzeitig empfohlene nodeJS-Paket ist Node 18 inklusive npm 9 (Stand 30.08.2023)

      Niemals ungerade Versionsnummern bei nodeJS verwenden, das sind ausschließlich Versionen für Entwickler und haben in einem stabilen System nichts zu suchen.

      Für alte Raspberrys, die auf der armv6 Prozessor-Architektur basieren (Zero // Zero W / WH // 1 Mod. A // 1 Mod. A+ // 1 Mod. B // 1 Mod. B+) muss man etwas unschön selber Hand anlegen, da gibt es keinen offiziellen Support mehr. Siehe hier am Ende dieses Eintrags.

      Nun zum Thema

      TEIL 1 Installation und Update von nodejs

      Node Installation bzw. Update unter Linux / Debian (und artverwandtem wie z. B. Raspbian / Rasberry OS / ubuntu) mit apt

      Für eine Node-Erstinstallation:

      Alt-Installationen entfernen:

      Debian/RaspberryOS/Ubuntu und artverwandtes:
      Alt- und Vorinstallationen (z. B. die dfsg-Version von nodejs) entfernen.

      sudo apt purge --autoremove nodejs* npm node-* libnode*
      

      Achtung, bei nodesource hat sich nun (31.08.2023) einiges geändert und bereits bestehende Setups müssen geändert werden.
      Dazu löscht man die bestehenden Dinge und legt alles frisch neu an.

      Altlasten rauswerfen:

      sudo rm `sudo find / -name nodesource.gpg`
      sudo rm `sudo find / -name nodesource.key`
      sudo rm /etc/apt/sources.list.d/nodesource.list
      

      Dann das nodesource-Repository wieder anlegen lassen:

      NODE_MAJOR=18
      sudo apt update
      sudo apt install -y ca-certificates curl gnupg
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
      echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_${NODE_MAJOR}.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
      sudo apt update
      sudo apt install nodejs
      

      Die gewünschte Version ggfls. anpassen, also statt

      NODE_MAJOR=18
      

      entsprechend 18 durch den gewünschten Versionszweig (z.B. 16) ersetzen.
      Wobei das bei einem komplett frischen Debian nicht mal erforderlich ist, der iobroker-Installer installiert ohnehin eine passende Version von nodejs, wenn noch nicht vorhanden.

      Es ist übrigens hier nicht erforderlich, ein Paket 'node' oder 'npm' separat zu installieren, das ist schon im Paket 'nodejs' enthalten. Das gilt dann natürlich im weiteren auch für Upgrades/Updates von node.

      Node-Update:
      Wenn bereits eine Version von nodejs über den obigen Weg installiert wurde kann man Updates innerhalb der jeweiligen Version von nodejs mit

      sudo apt update
      sudo apt upgrade
      

      vornehmen. In einem wird dann auch der Rest vom System aktualisiert.
      Wenn neue, zusätzliche Pakete für die Installation erforderlich sind (passiert seltener, meist bei Kernel-Updates) muss man ggf. alternativ mit

      sudo apt full-upgrade
      

      arbeiten. Das System meckert in dem Fall aber, wenn man zuerst mit apt upgrade versucht hat. Der Einfachheit halber am besten nach dem System-Upgrade mal per

      sudo reboot
      

      neustarten. Insbesondere bei 'mitgefangenen' Kernel-Updates sollte man das tun.

      Teil 1.1 Node-Upgrade/ Wechsel der nodejs-Version:
      Vor dem Wechsel der node-Version legen wir mit

      iobroker stop
      

      den iobroker kurz auf Eis.

      Die persönliche Abwandlung von mir bei Wechseln/Upgrades der nodejs-Version:
      Die oben vorgenommenen Schritte (auch per iobroker-Installer) führen dazu, dass es eine Datei nodesource.list gibt, die das nodesource-Repository beinhaltet. Um die Version zu wechseln fügt man dort einfach eine passende Zeile ein. Ich habe da derzeitig 2 Quellen drin. Mit dem Editor nano kann man das recht einfach anpassen:

      sudo nano /etc/apt/sources.list.d/nodesource.list
      

      Die Datei wird dann etwa so aussehen:

      #node 16
      deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_16.x nodistro main
      #node 18
      deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main
      

      (Darauf achten, dass die letzte Zeile mit einem ‚ENTER‘ abgeschlossen wird. Sonst gibt es beim üblichen Update-Zweisatz

      sudo apt update
      sudo apt full-upgrade
      

      eine Fehlermeldung, dass am Ende ein Zeilensprung fehlen würde. So sinngemäß jedenfalls...

      Jetzt hat man mehrere Möglichkeiten die gewünschte node-Version zu ändern.
      Der Paketmanager apt wird in diesem Setup bei einem normalen Update immer die höchste Versionsnummer installieren, hier also eine 18.x
      Man kann aber auch die Quelle temporär ausschalten, dazu einfach ein # vor die entsprechende Zeile setzen, dann wird die bei einem apt update übergangen und nur als Kommentar verstanden.

      Eine recht freie Auswahl bei den node-Versionen hat man, wenn man per

      apt policy nodejs
      

      schaut, was in den einzelnen Repos zur Verfügung steht. Kann dann z. B. so aussehen:

      echad@chet:/opt/iobroker $ apt policy nodejs
      nodejs:
        Installed: 16.15.1-deb-1nodesource1
        Candidate: 16.15.1-deb-1nodesource1
        Version table:
               
       *** 16.15.1-deb-1nodesource1 500
              500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages
              100 /var/lib/dpkg/status
           14.19.3-deb-1nodesource1 500
              500 https://deb.nodesource.com/node_14.x bullseye/main arm64 Packages
           12.22.5~dfsg-2~11u1 500
              500 http://deb.debian.org/debian bullseye/main arm64 Packages
              500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages
      

      Per

      sudo apt install nodejs=VERSIONSNUMMER-deb-1nodesource1
      

      (Die 500 ist nicht Bestandteil der Versionsnummer!)

      kann man eine exakte Version dann installieren. Achtung, wenn das Repo mit einer höheren Version nicht deaktiviert wird kommt beim nächsten apt update / apt upgrade natürlich die höhere Version mit. (Könnte man per Pinning auch noch feiner einstellen, führt aber hier zuweit...)

      Eine künftige Version von nodejs würde ich z. B. bei Bedarf dann einfach durch simples Ersetzen einer der nicht mehr benötigten Versionsnummern oder durch hinzufügen einer entsprechenden neuen Zeile für diese Version in der nodesource.list heranziehen.

      Check:

      Wenn alles sauber gelaufen ist sollte bei

      uname -m && type -P nodejs node npm npx corepack && nodejs -v && node -v && npm -v && npx -v && corepack -v && iob -v && whoami && groups && echo $XDG_SESSION_TYPE && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs
      

      die Ausgabe etwa so aussehen:

      pi@mysterium:~ $ uname -m && type -P nodejs node npm && nodejs -v && node -v && npm -v && iob -v && whoami && groups && pwd && sudo apt-get update &> /dev/null && sudo apt-get update && apt-cache policy nodejs
      armv7l
      Kein Docker
      /usr/bin/nodejs
      /usr/bin/node
      /usr/bin/npm
      /usr/bin/npx
      /usr/bin/corepack
      v18.15.0
      v18.15.0
      9.6.0
      9.6.0
      0.19.0
      pi
      pi adm dialout cdrom sudo audio video plugdev games users input netdev gpio i2c spi iobroker wmbusmeters
      tty
      /home/pi
      Hit:1 http://deb.debian.org/debian unstable InRelease
      Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
      Hit:3 http://phoscon.de/apt/deconz bullseye InRelease
      Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:5 https://deb.nodesource.com/node_16.x bullseye InRelease
      Hit:6 https://deb.nodesource.com/node_18.x bullseye InRelease
      Hit:7 https://packagecloud.io/ookla/speedtest-cli/debian bullseye InRelease
      Fetched 5,545 B in 3s (1,693 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      All packages are up to date.
      nodejs:
        Installed: 18.15.0-deb-1nodesource1
        Candidate: 18.15.0-deb-1nodesource1
        Version table:
       *** 18.15.0-deb-1nodesource1 500
              500 https://deb.nodesource.com/node_18.x bullseye/main armhf Packages
              100 /var/lib/dpkg/status
           16.20.0-deb-1nodesource1 500
              500 https://deb.nodesource.com/node_16.x bullseye/main armhf Packages
           12.22.12~dfsg-1~deb11u1 500
              500 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf Packages
      pi@mysterium:~ $
      

      Falls zu nodejs nichts gemeldet wird oder Teile der obigen Ausgabe nicht erscheinen bitte noch nodejs und node verlinken:

      sudo ln -s /usr/bin/node /usr/bin/nodejs
      

      Wichtig und richtig ist:

      nodejs liegt in /usr/bin
      node liegt in /usr/bin
      npm liegt in /usr/bin
      npx liegt in /usr/bin
      corepack liegt in /usr/bin

      und die Versionsnummern von nodejs und node sowie von npm und npx stimmen jeweils überein.

      Falsch ist eine Installation in /usr/local/bin oder irgendwelchen anderen Verzeichnissen als /usr/bin

      Final lassen wir den

      iobroker fix
      

      noch laufen, damit ggf. die sogenannten capabilities auf die nun laufende node-Version angepasst werden.
      Mit einem beherzten

      iobroker start
      

      rufen wir den Broker ins Leben zurück.

      ---- ENDE ---- ENDE ---- ENDE ---- ENDE

      *** SONDERFALL ***

      für linux-x64-musl / linux-x86 / linux-armv6l / Unofficial node-Builds

      Z. B. alte Raspberry Pi müssen händisch gepflegt werden.
      Das kann man dann so machen:

      Zunächst schauen, ob andere Versionen installiert sind:

      type -P nodejs node npm && nodejs -v && node -v && npm -v && apt policy nodejs
      

      Die dann deinstallieren:

      sudo apt purge --autoremove nodejs* npm node-* libnode*
      

      bzw. wenn die nicht per apt remove zu entfernen sind und irgendwo anders im Pfad liegen per

      sudo rm /pfad/zu/nodejs
      sudo rm /pfad/zu/node
      sudo rm /pfad/zu/npm
      

      Aktuelle node-VERSION in das System setzen (aktuellste vVERSION-Nummer bitte selber herausfinden...):

      wget https://unofficial-builds.nodejs.org/download/release/vVERSION/node-vVERSION-linux-armv6l.tar.xz
      tar -xvf node-vVERSION-linux-armv6l.tar.xz
      cd node-vVERSION-linux-armv6l/
      sudo cp -R * /usr/local/
      sudo ln -s /usr/local/bin/node /usr/local/bin/nodejs
      sudo apt update 
      sudo apt full-upgrade
      sudo apt autoremove
      sudo reboot
      

      Nachteil der Vorgehensweise ist, dass Updates nicht vom Paketmanager wahrgenommen werden und man selber bei Bedarf diese Schritte mit der jeweiligen Version jedesmal durchlaufen muss.
      Die Version von node liegt dann auch in /usr/local/bin, das ist in dem Fall entgegen meiner obigen Aussage dann in Ordnung bei alten Raspberry.

      NOTFALL - INSTALLATION (nicht empfohlen! / Versionen/Pfade sind anzupassen!)

      iobroker stop
      sudo killall node
      cd ~ && mkdir nodejsinstall && cd nodejsinstall
      wget https://nodejs.org/dist/v18.5.0/node-v18.5.0-linux-arm64.tar.xz
      tar -xf node-v18.5.0-linux-arm64.tar.xz 
      cd node-v18.5.0-linux-arm64/
      sudo cp -r * /usr/
      
      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • Installation auf Raspi - Einfacher geht's nicht

      Für die Installation auf einer SD-Karte nutzen wir den Raspberry Pi Imager,
      der hier erhältlich ist:

      https://www.raspberrypi.com/software/

      Im linken Feld des Pi Imagers wählen wir das zu flashende Betriebssystem aus, wir wählen unter
      Raspberry Pi OS (other)
      das
      Raspberry Pi OS Lite (64-bit)
      aus.

      Die ist zur aktuellen Raspberry-Hardware (ab Raspberry 3) kompatibel, auf älterer Hardware kann man mittlerweile den ioBroker ohnehin nicht mehr gescheit laufen lassen.

      Wichtig ist LITE, ohne Desktop!

      rpi-imager_1_1.png
      rpi-imager_1_2.png
      rpi-imager_1_3.png

      Unter Storage wählen wir die zu flashende SD-Karte aus, im Beispiel unter dem Laufwerksbuchstaben D : zu finden:

      26dd84ac-5597-4f75-af9f-24e6729ebc23-image.png

      Bevor mit Write das Image auf die Karte geschrieben wird öffnen wir das 'geheime' Installationsmenü mit der Tastenkombination
      STRG-Umschalten-X. (Mittlerweile nicht mehr geheim sondern direkt in der Oberfläche zu sehen).

      Hier können noch einige Einstellungen direkt vorab mitgegeben werden, u. a. auch der wichtige Zugang per ssh. Bei mir schaut das dann beispielsweise so aus:

      bd08d699-fd56-4171-9e5e-5203a1e3932a-image.png

      Wichtig ist vor allen Dingen die Einstellung zu ssh sowie der Zeitzone.
      Auch ein individueller Hostname sowie ein individueller username sind jetzt vorgesehen. Dabei sollte man sich jeweils auf Kleinbuchstaben und Ziffern beschränken und keine Sonderzeichen wie /-[ oder ähnliches verwenden. Nicht verwendet werden sollte 'root' oder 'iobroker' als username.

      posted in Installation
      Thomas Braun
      Thomas Braun
    • iob node fix - Skript

      Hinweis vorab: Wenn das Skript ausgeführt wurde und sein Werk getan hat, funktionieren Updates innerhalb der nodejs-Version wieder wie gehabt über

      sudo apt update
      sudo apt full-upgrade
      

      Erneutes ausführen des Skriptes bei einem gewöhnlichen Update ist nicht notwendig!

      __
      BETA-TESTING
      (Nachdem das Skript jetzt auch offiziell Teil vom ioBroker in Form des Kommandos iob nodejs-update geworden ist wird hier im Thread an Beta-Versionen gewerkelt. Mit den üblichen Gefahren. Es kann hier Code in jeglicher Form und Lauffähigkeit vorgefunden werden. Bitte hier nur 'todesmutige' Tester mit Backup für den Fall der Fälle. )

      Ich habe mich ja lange dagegen ausgesprochen, so grundlegende Dinge wie die Installation von nodejs über windige 'Toolz' machen zu lassen. Aber sei es wie es ist, hier ist ein Skript, das verfummelte nodejs-Installationen wieder weitgehend gerade ziehen sollte und auch das aktuelle Repository für nodejs in der Version von nodesource inkl. der Schlüssel usw. installiert.

      Flugs heruntergeladen und ausgeführt per

      curl https://raw.githubusercontent.com/Grothesk242/iob_diag/main/iob_node_update.sh > iob_node_update
      chmod 744 iob_node_update
      ./iob_node_update
      

      Optional kann man dem Skript auch einen nodejs-Zweig mit geben, dann wird die letzte Version aus diesem Zweig installiert.

      ./iob_node_update XX
      

      Wobei der Zweig natürlich existent sein muss. Zur Zeit ist also XX = 18 , 20 oder 22 möglich.

      Noch ein Hinweis: Gegebenenfalls (wenn z. B. mehrere verschachtelte Fehler vorliegen) das Skript nochmal laufen lassen. Wenn alles senkrecht ist sieht die Meldung am Ende so aus:

      Nothing to do, your installation is using the correct paths.
      Nothing to do, your installed version is the recommended one.
      

      Also 2x 'nothing to do'.
      (2x aber nur, wenn die Empfehlung aus dem iobroker herausgelesen werden konnte. Das funktioniert aber nicht immer, für Multihost-Setups z.B. nur für das Hauptsystem)

      Meinungen? Anregungen? Wünsche?
      Wer da tiefer einsteigen möchte und vielleicht selber kochen möchte:
      https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • Linux/Debian - Grafana-Repo muss aktualisiert werden

      Wer beim täglichen System-Update auf diese Meldung läuft, dass etwas mit dem Schlüssel zum Grafana-Repository nicht stimmt:

      Err:13 https://packages.grafana.com/oss/deb stable InRelease
        The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9E439B102CF3C0C6
      Reading package lists... Done
      W: GPG error: https://packages.grafana.com/oss/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9E439B102CF3C0C6
      E: The repository 'https://packages.grafana.com/oss/deb stable InRelease' is not signed.
      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.
      

      sollte das Repo mit neuem Schlüssel und ein paar anderen Parametern neuanlegen.
      Geht ungefähr so:

      apt-key list | grep -i grafana | wc -l
      

      sollte 0 zurückgeben.
      Wenn da irgendwas anderes als 0 gemeldet wird dann sollte der alte key gelöscht werden:

      sudo apt-key del 4E40DDF6D76E284A4A6780E48C8C34C524098CB6
      

      Nochmal per

      apt-key list | grep -i grafana | wc -l
      

      schauen ob das jetzt 0 ist.

      Wenn da noch was drinhängt mittels

      apt-key list
      

      schauen was da noch so bzgl. grafana aufgeführt ist und den Schlüssel dann auch löschen. Kann z. B. so aussehen:

            0E22 EB88 E39E 1227 7A77  60AE 9E43 9B10 2CF3 C0C6
      uid           [ unknown] Grafana Labs <engineering@grafana.com>
      sub   rsa3072 2023-01-06 [E] [expires: 2025-01-05]
      

      Also diesen key auch löschen:

      sudo apt-key del 0E22EB88E39E12277A7760AE9E439B102CF3C0C6
      

      Jetzt kommt beim Check die gewünschte Null:

      echad@chet:~ $ apt-key list | grep -i grafana | wc -l
      Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
      0
      

      Jetzt wird der neue Key und das neue Repo reingezogen:

      sudo wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
      echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
      

      Jetzt sollte ein

      sudo apt update
      

      auch wieder sauber durchlaufen.

      Siehe auch hier:
      https://grafana.com/blog/2023/01/12/grafana-labs-update-regarding-circleci-security-updates/

      posted in Visualisierung
      Thomas Braun
      Thomas Braun
    • 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 --de

      TEST-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 Klartext 
      

      Mit Ausgabe in eine Logdatei namens iob_diag.log sähe der Aufruf so aus:

      ./iob_diag.sh | tee iob_diag.log
      

      Vielleicht 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! 😄

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie'

      Debian 13 'Trixie' ist am 09.08.2025 in einer stabilen Version veröffentlicht worden!

      Upgrades sind nur von der direkten Vorversion und nur von der gleichen CPU-Architektur aus möglich.
      Also Debian 12 'Bookworm' und z.B. arch64. CrossUpgrades von 32Bit 'armhf' auf 'arm64' sind nicht möglich (nur für echte Pinguine!) und bedingen eine Neuinstallation.

      Hier hat es folgendermaßen auf einem Raspberry 4 funktioniert.
      Natürlich ohne Desktop oder sowas, nur per SSH direkt mit einem Terminal verbunden. Mit laufender GUI und aus einer lokalen Konsole heraus ist das alles komplizierter, weil es passieren kann, dass die Verbindung abreißt und das ganze schwer in die Hose geht. Aber wir betreiben ja Server alle immer grundsätzlich ohne graphische Oberfläche...

      Das bisherige System muss auf dem allerletzten Stand sein.
      Also per

      sudo apt update
      sudo apt full-upgrade
      sudo reboot
      

      zunächst mal sicherstellen, das man auf dem neusten PointRelease agiert. Stand 09. August 2025 ist das:

      echad@chet:~ $ cat /etc/debian_version
      12.11
      echad@chet:~ $
      

      APT pinning:
      Schauen, ob in einer Datei wie /etc/apt/preferences oder im Verzeichnis /etc/apt/preferences.d Pakete (außer nodejs / nodesource) gepinnt wurden. Diese müssen entfernt werden.

      Mit

      apt-mark showhold
      

      schaut man noch, ob Paket auf halten gesetzt wurden. Auch dies muss möglichst Rückgängig gemacht werden.
      Geht dann per

      sudo apt-mark unhold PAKETNAME
      

      ODER in Bausch und Bogen
      per

      sudo apt-mark unhold `apt-mark showhold`
      

      Jetzt wird geschaut, ob die Ausganglage sauber ist. Sollte ungefähr so aussehen:

      echad@chet:~ $ sudo apt update
      Hit:1 http://deb.debian.org/debian bookworm InRelease
      Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
      Hit:3 https://repos.influxdata.com/debian stable InRelease
      Hit:4 http://archive.raspberrypi.com/debian bookworm InRelease
      Hit:5 http://deb.debian.org/debian bookworm-updates InRelease
      Hit:6 http://phoscon.de/apt/deconz bookworm InRelease
      Hit:7 http://phoscon.de/apt/deconz bookworm-beta InRelease
      Hit:8 https://apt.grafana.com stable InRelease
      Hit:9 https://cli.github.com/packages stable InRelease
      Hit:10 https://deb.nodesource.com/node_20.x nodistro InRelease
      Hit:11 https://repo.mosquitto.org/debian bookworm InRelease
      Hit:12 https://packages.redis.io/deb bookworm InRelease
      Get:13 https://pkgs.tailscale.com/stable/debian bookworm InRelease
      Hit:14 https://packagecloud.io/ookla/speedtest-cli/debian bookworm InRelease
      Fetched 6,581 B in 3s (1,994 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      All packages are up to date.
      echad@chet:~ $
      

      Also alle bisherigen Quellen sind erreichbar und deren Schlüssel liegen sauber an Ort und Stelle und es werden auch keine sonstigen Fehler gemeldet.

      Jetzt kann man hingehen, und das Ruder in Richtung Debian 13 'Trixie' drehen:

      sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
      sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*
      

      Mit

      sudo apt update
      

      ziehen wir die neuen Quellen heran. Sollte dann wie zuvor aussehen, nur das nur statt wie bisher bookworm halt der neue Releasename trixie auftaucht:

      echad@chet:~ $ sudo apt update
      Hit:1 http://deb.debian.org/debian trixie InRelease
      Hit:2 http://deb.debian.org/debian-security trixie-security InRelease
      Hit:3 https://cli.github.com/packages stable InRelease
      Hit:4 http://deb.debian.org/debian trixie-updates InRelease
      Hit:5 https://apt.grafana.com stable InRelease
      Hit:6 https://repos.influxdata.com/debian stable InRelease
      Hit:7 https://deb.nodesource.com/node_20.x nodistro InRelease
      Hit:8 http://archive.raspberrypi.com/debian trixie InRelease
      Get:9 https://pkgs.tailscale.com/stable/debian trixie InRelease
      Hit:10 https://packagecloud.io/ookla/speedtest-cli/debian trixie InRelease
      Fetched 6,579 B in 2s (2,850 B/s)
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      721 packages can be upgraded. Run 'apt list --upgradable' to see them.
      

      (Einige Quellen von Dritten waren noch nicht auf trixie umgestellt, weswegen ich diese für dieses HowTo 'auf Eis gelegt' habe. Das sollte aber bis zum offiziellen Release im Sommer 2025 auch für diese Repos erfolgt sein)

      Wenn da noch was anderes als 'trixie', 'stable' oder im Fall von nodesource 'nodistro' auftaucht muss man diese Quelle noch anpassen oder auch deaktivieren. Die zugehörige .list-Datei wird im Verzeichnis /etc/apt/sources.list.d/ liegen.

      Nach dem erfolgten Update kann eine Meldung wie
      Warning: https://deb.nodesource.com/node_20.x/dists/nodistro/InRelease: Policy will reject signature within a year, see --audit for details auftauchen. Die kann momentan ignoriert werden.

      Mit

      sudo apt -o APT::Get::Trivial-Only=true full-upgrade
      

      macht man einen Trockenlauf und schaut, wie viel Platz das neue System zusätzlich braucht und ob auf dem Datenträger noch genügend vorhanden ist. Bei mir ist alles in Ordnung:

      721 upgraded, 173 newly installed, 56 to remove and 0 not upgraded.
      Need to get 757 MB of archives.
      After this operation, 770 MB of additional disk space will be used.
      

      Wenn zu wenig Platz vorhanden ist meldet sich das System:

      E: You don't have enough free space in /var/cache/apt/archives/.
      

      Zuvor ist es eine gute Idee, alles unnötige zu beenden. Den ioBroker würde ich also schon mal per

      iob stop
      

      aus dem Verkehr ziehen. Gleiches gilt auch unbedingt für mariadb. Auch stoppen!

      sudo service mariadb stop
      

      Das Update macht man in zwei Schritten. Zunächst nur die bereits installierten Pakete:

      sudo apt upgrade --without-new-pkgs
      

      Wenn das durchgelaufen ist zieht man den Rest dann per

      sudo apt full-upgrade
      

      nach.

      Irgendwann wird eine ChangeList erscheinen, die kann man mit q verlassen.
      Die darauf folgende Frage, ob Services ungefragt neugestartet werden sollen beantworte ich auf meinem System mit <YES>

      Wenn in der Folge config-Dateien angezeigt werden, die nun in der neuen Version andere Einträge haben, dann bitte anschauen und überlegen, ob da nicht die eigenen Einträge bebeihalten werden. War auf meinem System bei dem nut-Server der Fall. Da habe ich natürlich die Einstellungen für meine USV z. B. beibehalten.

      Das Spiel mit

      sudo apt update
      sudo apt full-upgrade

      wiederholt man solange, bis gemeldet wird:
      All packages are up to date.

      Dann einmal das ganze Spiel neustarten:

      sudo reboot
      

      und man sollte dann z. B. in

      iob diag
      

      sehen, das man nun auf Debian 13 'Trixie' herumturnt:

      *** BASE SYSTEM ***
       Static hostname: chet
             Icon name: computer
      Operating System: Debian GNU/Linux 13 (trixie)
                Kernel: Linux 6.12.25+rpt-rpi-v8
          Architecture: arm64
      OS is similar to:
      
      Model           : Raspberry Pi 4 Model B Rev 1.4
      Docker          : false
      Virtualization  : none
      Kernel          : aarch64
      Userland        : 64 bit
      
      Systemuptime and Load:
       21:55:13 up 15 min,  1 user,  load average: 1.66, 1.17, 1.04
      CPU threads: 4
      
      
      *** LIFE CYCLE STATUS ***
      Operating System codenamed 'trixie' is a testing release! Please use it only for testing purposes!
      

      Nachbereitung:
      Mit

      apt list '~c'
      

      kann man schauen, ob es noch Überreste von alten Paketen gibt, die im Zuge des Upgrades entfernt wurden.
      Diese kann man per

      sudo apt purge '~c'
      

      noch runterwerfen.

      Ähnliches macht man mit veralteten und lokal erzeugten Pakten nach Möglichkeit.

      apt list '~o'
      sudo apt purge '~o'
      sudo apt --purge autoremove
      sudo apt autoclean
      

      Zur Zeit noch optional ist die Umstellung auf das neue Format für die Paketquellen:

      sudo apt modernize-sources
      

      Falls Quellen aus dritter Hand verwendet werden manche davon umgestellt werden können, bei anderen wird Handarbeit angesagt sein. Die Umstellung kann durch die Eingabe von N simuliert werden.

      Bei der Umstellung wird die ursprüngliche sources.list in das neue Format unter sources.list.d überführt. Die dort liegenden Dateien enden nicht mehr auf .list, sondern auf .sources.

      Noch viel mehr Informationen finden sich hier:
      https://www.debian.org/releases/trixie/release-notes/upgrading.de.html#

      Insbesondere bei Fehlern oder einer anderen Ausgangslage finden sich dort wichtige Hinweise zum Upgrade.

      posted in Pflege des Betriebssystems
      Thomas Braun
      Thomas Braun
    • Upgrade von Debian 10 'Buster' auf 11 'Bullseye'

      Ich wollte hier mal für Raspberry OS festhalten, wie ich von 'Buster' auf das 'Bullseye'-Release springe.

      Gegeben ist ein Pi3 mit 1 GB, der schon etwas länger in einer Schublade lag.

      Zunächst den 'Buster' auf den letzten Stand bringen:

      pi@raspberrypi:~ $ sudo apt update
      Get:1 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
      Get:2 http://archive.raspberrypi.org/debian buster InRelease [32.6 kB]
      E: Repository 'http://raspbian.raspberrypi.org/raspbian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
      N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
      Do you want to accept these changes and continue updating from this repository? [y/N]
      

      Hier wurden die Repos schon auf den neuen Status 'oldstable' angepasst. Akzeptieren wir natürlich.

      Bei mir wurden 180 Pakete zum Upgrade gemeldet.

      sudo apt full-upgrade
      

      Hat mir das System auf den letzten Stand gehoben, da aber auch ein Kernel- und Firmware-Update dabei war starte ich per

      sudo reboot now
      

      einmal durch.

      Nach dem der Server wieder auf die Beine gekommen ist sollte es ungefähr so aussehen:

      pi@raspberrypi:~ $ sudo apt update
      Hit:1 http://archive.raspberrypi.org/debian buster InRelease
      Hit:2 https://repos.influxdata.com/debian buster InRelease
      Hit:3 https://packages.grafana.com/oss/deb stable InRelease
      Hit:4 https://deb.nodesource.com/node_14.x buster InRelease
      Hit:5 http://raspbian.raspberrypi.org/raspbian buster InRelease
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      All packages are up to date.
      

      Also alle Pakete sind auf dem letzten Stand von 'Buster' und auch die einzelnen Repositories/Paketquellen verweisen auf stable oder buster.

      Jetzt stellen wir die Quellen auf das aktuelle Release 'bullseye' um. Das macht man entweder von Hand in allen .list-Dateien im Pfad /etc/apt oder mit diesen drei Befehlszeilen:

      sudo sed -i 's/buster\/updates/bullseye-security/g' /etc/apt/sources.list
      sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
      sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*
      

      Wie man sieht wurden jetzt alle Datein auf bullseye umgestellt:

      pi@raspberrypi:~ $ sudo apt update
      Hit:1 http://archive.raspberrypi.org/debian bullseye InRelease
      Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
      Hit:3 https://repos.influxdata.com/debian bullseye InRelease
      Hit:4 https://packages.grafana.com/oss/deb stable InRelease
      Hit:5 https://deb.nodesource.com/node_14.x bullseye InRelease
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      1067 packages can be upgraded. Run 'apt list --upgradable' to see them.
      

      1067 Pakete müssen nun aktualisiert werden:

      sudo apt full-upgrade
      

      Das führt unter Umständen zu einer Fehlermeldung, das eine unmögliche Upgrade-Konstellation herbeigeführt würde. Da dann einfach

      sudo apt install gcc-8-base
      

      ausführen, dann nochmal

      sudo apt update
      

      und dann sollte auch ein

      sudo apt full-upgrade
      

      funktionieren. Nicht davon irritieren lassen, dass ggf. einige Pakete deinstalliert werden, das ist okay.

      Die Frage, ob Services automatisch neugestartet werden sollen beantworten wir mit Ja:

          │                                                                                                                                                                                   │
          │ Restart services during package upgrades without asking?                                                                                                                          │
          │                                                                                                                                                                                   │
          │                                                       <Yes>                                                          <No>                                                         │
          │                                                                                                                                                                                   │
          └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
      
      

      Wenn der erste Schwung durch ist schauen wir per

      sudo apt update
      sudo apt full-upgrade
      

      nach ob noch etwas ansteht. Das machen wir solange bis keine Pakete mehr zum Upgrade vorgesehen sind:

      All packages are up to date.
      

      Bei Rückfragen, welche Version der Konfigurationsdateien muss mal reinschauen, ob man da ggf. eigene Anpassungen getätigt hat, ansonsten würde ich die neue Version des Maintainers übernehmen.

      Vorsichtshalber schauen wir noch in den dhcpd.service rein.

      sudo nano /etc/systemd/system/dhcpcd.service.d/wait.conf
      

      Wenn da alt sowas drin steht:

      [Service]
      ExecStart=
      ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w
      

      ändern wir es auf neu:

      [Service]
      ExecStart=
      ExecStart=/usr/sbin/dhcpcd -q -w
      

      ab

      Nach einem erneuten

      sudo reboot now
      

      befinden wir uns bei Bullseye:

      pi@raspberrypi:~ $ neofetch
        `.::///+:/-.        --///+//-:``    pi@raspberrypi
       `+oooooooooooo:   `+oooooooooooo:    --------------
        /oooo++//ooooo:  ooooo+//+ooooo.    OS: Raspbian GNU/Linux 11 (bullseye) armv7l
        `+ooooooo:-:oo-  +o+::/ooooooo:     Host: Raspberry Pi 3 Model B Plus Rev 1.3
         `:oooooooo+``    `.oooooooo+-      Kernel: 5.10.52-v7+
           `:++ooo/.        :+ooo+/.`       Uptime: 4 mins
              ...`  `.----.` ``..           Packages: 1487 (dpkg)
           .::::-``:::::::::.`-:::-`        Shell: bash 5.1.4
          -:::-`   .:::::::-`  `-:::-       Terminal: /dev/pts/0
         `::.  `.--.`  `` `.---.``.::`      CPU: BCM2835 (4) @ 1.400GHz
             .::::::::`  -::::::::` `       Memory: 65MiB / 923MiB
       .::` .:::::::::- `::::::::::``::.
      -:::` ::::::::::.  ::::::::::.`:::-
      ::::  -::::::::.   `-::::::::  ::::
      -::-   .-:::-.``....``.-::-.   -::-
       .. ``       .::::::::.     `..`..
         -:::-`   -::::::::::`  .:::::`
         :::::::` -::::::::::` :::::::.
         .:::::::  -::::::::. ::::::::
          `-:::::`   ..--.`   ::::::.
            `...`  `...--..`  `...`
                  .::::::::::
                   `.-::::-`
      
      

      Kleine Nachpflege noch:

      sudo apt install build-essential
      
      posted in Off Topic
      Thomas Braun
      Thomas Braun

    Latest posts made by Thomas Braun

    • RE: IoBroker in VM legt kompletten Proxmox-Server lahm.

      @a200 sagte in IoBroker in VM legt kompletten Proxmox-Server lahm.:

      CPU threads: 2

      Spendier der Kiste mal mehr Zylinder, wenn möglich.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Wir empfehlen: Node.js 22.x

      @martinp sagte in Wir empfehlen: Node.js 22.x:

      Wird da etwas gleich mit erledigt?

      Nein, nodejs-update packt deine ioBroker-Adapter nicht an. Da geht es einzig und allein um das Paket 'nodejs' (und dessen Quellen).

      Wäre es sinnvoller gewesen, ERST die Adapter-Updates zu machen, und DANN Nodejs hochzuziehen?

      Kommt ganz darauf an. Wenn die Ausgangsbasis aktuell ist ist es weitgehend egal; wenn du da 'uralte' Adapterversionen hast, die für z. B. nodejs@22 noch gesperrt sind sollte man die zuerst hochziehen, damit die dann schon mit der aktuellen nodejs zusammenarbeiten.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie'

      @teletapi

      Nach der reinen Lehre gehören 'lose' Schlüssel nach /etc/apt/keyrings, das Verzeichnis /usr/share/keyrings ist eigentlich für Schlüssel vorgesehen, die mit Paketen gleich mitinstalliert werden.

      Und auch auf der grafana-Seite wird /etc/apt/keyrings verwendet:

      https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/

      Halte ich ohnehin für die verlässlichere Quelle als irgendson ÄihEi-Gedönse. Kommt viel zu oft höchstens halbrichtiges bei herum. Wie man hier wieder sieht.

      posted in Pflege des Betriebssystems
      Thomas Braun
      Thomas Braun
    • RE: Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie'

      @teletapi sagte in Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie':

      Warnung: Fehlschlag beim Holen von https://apt.grafana.com/dists/stable/InRelease Sub-process /usr/bin/sqv returned an error code (1), error message is: Signing key on B53AE77BADB630A683046005963FA27710458545 is bad: The primary key is not live because: Expired on 2025-08-23T16:33:45Z

      Der Schlüssel muss erneuert werden, deiner ist am 23. August abgelaufen. Ich mache das immer danach:

      https://forum.iobroker.net/topic/59231/phantastische-repositories-und-wo-sie-zu-finden-sind

      Hier werden andere Verzeichnisse als bei SchrottJiPiehTieh verwendet. Kann man sich drüber streiten, was richtiger/besser ist, die aktuelle Vorgabe seitens Debian ist aber /etc/apt/keyrings/

      posted in Pflege des Betriebssystems
      Thomas Braun
      Thomas Braun
    • RE: Probleme mit s7 adapter nach nodejs und OS update

      @hf_spsler sagte in Probleme mit s7 adapter nach nodejs und OS update:

      Dann warte ich mal ab ob der S7 Adapter nachgezogen wird bevor ich auf ein aktuelleres node.js wechsele.

      Ich meine es gäbe zu s7 schon was. Vermutlich hier:

      https://forum.iobroker.net/topic/81893/wir-empfehlen-node-js-22-x

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Schreibrechte auf grafana.ini in Docker

      @legro

      Man verbiegt die Rechte von solchen Dateien nicht, man schaut, dass der verwendete user passende Rechte besitzt.
      Entweder per Gruppenzugehörigkeit oder indem man für diese eine Aktion root-Rechte bekommt.

      Eigne dir Grundlagen an. Z.B. hier:

      https://www.informatik-aktuell.de/betrieb/betriebssysteme/rechte-im-dateisystem-mehr-als-nur-rwx.html

      posted in Grafana
      Thomas Braun
      Thomas Braun
    • RE: Probleme mit s7 adapter nach nodejs und OS update

      @hf_spsler sagte in Probleme mit s7 adapter nach nodejs und OS update:

      Einzige Alternative wäre node.js wieder auf 20.xy zurück zu bringen, da hab ich aber leider keine Ahnung wie dies zu machen wäre....

      Per

      iob nodejs-update 20
      
      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Wir empfehlen: Node.js 22.x

      @pk68 sagte in Wir empfehlen: Node.js 22.x:

      Danke. Hatte zuerst das Update per GUI angestoßen.

      Ich würde sowas IMMER in der Kommandozeile machen. Da sind die Meldungen deutlicher.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Wir empfehlen: Node.js 22.x

      @pk68 sagte in Wir empfehlen: Node.js 22.x:

      Wodurch passiert so etwas?

      Wenn Installationen abgebrochen werden, das System nicht sauber heruntergefahren wird, Pakete reingeknüpplet werden, die da nix zu suchen haben...
      Gibt mehrere Möglichkeiten die dpkg-Datenbank zu schrotten.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    • RE: Wir empfehlen: Node.js 22.x

      @pk68 sagte in Wir empfehlen: Node.js 22.x:

      Das Update klappte zunächst nicht.

      Dann ist da im Vorfeld deine Datenbank schon korrupt gewesen.

      posted in ioBroker Allgemein
      Thomas Braun
      Thomas Braun
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo