NEWS
dfsg-nodejs eingehandelt? Hier die Korrektur
-
Wer sich per system-Update oder ganz frischer Installation vom ioBroker die Version
18.19.0+dfsg-6~deb12u1
von nodejs eingehandelt hat (Check auf die Version perapt policy nodejs
durchführen).
kommt damit wieder auf die richtige Spur:
echo -e "Package: nodejs\nPin: origin deb.nodesource.com\nPin-Priority: 1001" | sudo tee /etc/apt/preferences.d/nodejs.pref sudo apt update iob stop sudo apt remove npm sudo apt install nodejs=18.19.0-1nodesource1 iob restart
in das Terminal kopieren.
[Edit 30-12-2023:] Der ioBroker-Installer wurde angepasst und zaubert jetzt auch wieder direkt das richtige Zeug auf die Kiste.
Edit2: Zu den Hintergründen:
Die dfsg / Debian Free Software Guidelines sind für das Debian-Projekt bindend. Daher bauen die einige Softwarepakete anders zusammen als in diesen Fall z.B. nodejs.org/nodesource das selber in ihr Softwarerepository packen. Darüber hinaus zerlegt Debian große Software-Pakete gerne in viele kleinere Pakete, weil das viel besser wartbar ist als ein so großer Software-Monolith. npm wird in der Debian/dfsg-Variante daher in ein eigenes Paket 'npm' ausgelagert (und müsste dann separat installiert werden).
Kürzlich hat dann Debian ihr eigenes Paket 'nodejs' (das ohne beigepacktem 'npm') etwas überraschend auf eine sehr aktuelle Version gebracht, so dass dies in der Installationspriorität ganz nach oben gesprungen ist. Macht Debian äußert selten bis nie und deswegen wurde das im iob-Installer bisher nicht bedacht. In aktueller Version von 'iob nodejs-update' ist dieser Fall aber bereits länger berücksichtigt gewesen, weswegen das da nicht auftritt. Der iob-Installer ist aber nun auch angepasst worden.
Das ist also kein Fehler im eigentlichen Sinne, denn apt als Paketmanager hat genau das gemacht, was es tun soll: Die aktuellste verfügbare Version eines Paketes einspielen. Der obige Fix verändert die Priorität dahingehend, das immer die nodesource-Version bevorzugt wird, unabhängig davon ob vielleicht in anderen Repos noch höhere Versionsnummern bereit stehen.
-
@thomas-braun Kommt die dfsg-Version bei einem Debian bookworm fälschlicherweise bei einem normalen
apt full upgrade
mit, oder muss vorher schon was falsch gelaufen sein, damit die fälschlich installiert wird?
Gruss, Jürgen
-
@wildbill sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Kommt die dfsg-Version bei einem Debian bookworm fälschlicherweise bei einem normalen
apt full upgrademi
jepp, wenn das im standardrepo mit drin ist
-
Jein, die 18.19.0-dfsg kommt aus dem debian-security-Repo und ist gemäß semver die aktuellste Version.
Das ist für Debian schon ungewöhnlich. Normalerweise werden da Patches als Backport in die ursprüngliche Versionsnummer übernommen.Aber um diesen unwahrscheinlichen Fall auch zu umschiffen habe ich irgendwann in 'iob nodejs-update' das nodesource-Repository mit höherer Priority anlegen lassen.
Also entweder wurde das nicht per aktuellem nodejs-update angelegt oder per apt-get eingespielt. Soweit ich weiß berücksichtigt apt-get die Preferences für apt nämlich nicht.
Edit: Oder per iob-Installer. Ich glaube im Installer-Skript wird keine Priority gesetzt, weil ich da den Fall (Debian erhöht außer der Reihe die Versionsnummer) nicht bedacht habe und möglichst wenig da herumprökeln wollte. Gibt jetzt aber einen PR dafür:
-
@thomas-braun OK, ich habe auf meinem System damals mit Deinem Script nodejs-update auf 18 umgestellt. Dann sollte ich ja safe sein. Aber mal beobachten, was das nächste Update so reinspülen will…
DankeGruss, Jürgen
-
@wildbill sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Aber mal beobachten, was das nächste Update so reinspülen will…
Schau mit
sudo apt update apt policy nodejs
einfach nach.
-
@thomas-braun sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Das ist für Debian schon ungewöhnlich. Normalerweise werden da Patches als Backport in die ursprüngliche Versionsnummer übernommen.
Das sieht nach einem Notfall-Patch aus:
https://lists.debian.org/debian-security-announce/2023/msg00286.html
-
@thomas-braun sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
@wildbill sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Aber mal beobachten, was das nächste Update so reinspülen will…
Schau mit
sudo apt update apt policy nodejs
einfach nach.
Grad geschaut, nodejs wird nicht "angefasst":
apt list --upgradeable Auflistung… Fertig curl/stable-security 7.88.1-10+deb12u5 amd64 [aktualisierbar von: 7.88.1-10+deb12u4] libcurl3-gnutls/stable-security 7.88.1-10+deb12u5 amd64 [aktualisierbar von: 7.88.1-10+deb12u4] libcurl4/stable-security 7.88.1-10+deb12u5 amd64 [aktualisierbar von: 7.88.1-10+deb12u4] linux-image-amd64/stable-updates 6.1.67-1 amd64 [aktualisierbar von: 6.1.66-1] linux-libc-dev/stable-updates 6.1.67-1 amd64 [aktualisierbar von: 6.1.66-1] openssh-client/stable-security 1:9.2p1-2+deb12u2 amd64 [aktualisierbar von: 1:9.2p1-2+deb12u1] openssh-server/stable-security 1:9.2p1-2+deb12u2 amd64 [aktualisierbar von: 1:9.2p1-2+deb12u1] openssh-sftp-server/stable-security 1:9.2p1-2+deb12u2 amd64 [aktualisierbar von: 1:9.2p1-2+deb12u1]
Schönen Abend noch.
Gruss, Jürgen
-
@wildbill sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
apt policy nodejs
sagt es dir noch genauer.
-
@thomas-braun Da kommt das hier:
apt policy nodejs nodejs: Installiert: 18.19.0-1nodesource1 Installationskandidat: 18.19.0-1nodesource1 Versionstabelle: 18.19.0+dfsg-6~deb12u1 500 500 http://security.debian.org/debian-security bookworm-security/main amd64 Packages *** 18.19.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 100 /var/lib/dpkg/status 18.18.2-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.18.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.18.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.17.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.17.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.16.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.16.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.15.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.2-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.14.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.13.0+dfsg1-1 500 500 http://deb.debian.org/debian bookworm/main amd64 Packages 18.13.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.12.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.11.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.10.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.9.1-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.9.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.8.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.7.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.6.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.5.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.4.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.3.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.2.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.1.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages 18.0.0-1nodesource1 1001 500 https://deb.nodesource.com/node_18.x nodistro/main amd64 Packages
Das dfsg ist also niedriger priorisiert. Somit passt es.
Gruss, Jürgen
-
@wildbill sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Das dfsg ist also niedriger priorisiert. Somit passt es.
Richtig. Das security-Repo ist mit Priority 500 eingerichtet, das nodesource-Repo übertrumpft das aber mit Priority 1001. Das Repo wird also immer bevorzugt, auch wenn die Version von dort eine niedrigere Versionsnummer hat.
-
@thomas-braun
Danke das hat mich eben gerettet! -
@thomas-braun sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Richtig. Das security-Repo ist mit Priority 500 eingerichtet, das nodesource-Repo übertrumpft das aber mit Priority 1001. Das Repo wird also immer bevorzugt, auch wenn die Version von dort eine niedrigere Versionsnummer hat.
Die Prio 500 und 1001 hab ich gar nicht bei mir.
Bin zwar noch auf der 18.17 aber die Versionen sind alle 500 bei mir.apt policy nodejs nodejs: Installiert: 18.17.1-deb-1nodesource1 Installationskandidat: 18.19.0+dfsg-6~deb12u1 Versionstabelle: 18.19.0+dfsg-6~deb12u1 500 500 http://security.debian.org/debian-security bookworm-security/main amd64 Packages *** 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://ftp.debian.org/debian bookworm/main amd64 Packages
Ist das ok so ?
-
@segway sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Bin zwar noch auf der 18.17 aber die Versionen sind alle 500 bei mir.
dann mach einen
iob nodejs-update
sonst hängst du ewig auf dem alten Stand
-
@homoran sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
dann mach einen
iob nodejs-update
sonst hängst du ewig auf dem alten Stand
doch jetzt Updaten ?
-
@segway sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Ist das ok so ?
Nein, das ist überhaupt das falsche Setup.
Korrigier das periob nodejs-update
-
@thomas-braun sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Nein, das ist überhaupt das falsche Setup.
Mhhh, warum das ?
Gut der IOB ist seit buster im Einsatz ohne Neuinstalldann mach ich das mal
-
@segway sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Die Prio 500 und 1001 hab ich gar nicht bei mir.
Bin zwar noch auf der 18.17 aber die Versionen sind alle 500 bei mir.Die 500 ist kein Teil der Versionsnummer sondern ist die besagte Priorität, mit der diese Version reingezogen wird.
-
@segway sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
Mhhh, warum das ?
Weil das nodesource-Repo verändert wurde und du da auf dem alten, eingefrorenen Stand bist.
-
@segway sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
doch jetzt Updaten ?
Natürlich
@homoran sagte in dfsg-nodejs eingehandelt? Hier die Korrektur:
sonst hängst du ewig auf dem alten Stand
dein repo wird nie mehr aktualisiert