- Erstellen eines “Wegwerfjails” für den Buildprozess
- Patchen der Port Definition
- Bauen des Installationspaketes
- Erstellen einer Paketquelle im Ziel Jail und upgraden.
FreeBSD: Pakete selber bauen
Ich betreibe jetzt seit einigen Jahren FreeBSD Server für meine privaten Dienste und bin bisher immer gut mit den normalen Paketen gefahren.
Jetzt gab es diese Woche ein kritisches NodeJS Update das eine mögliche Remote Code Execution abgeschaltet hat. Wenn so etwas auftritt dann gibt es immer die Alternative “warten oder selbst kompilieren”
Irgendwie dauert mit das allerdings jetzt zu lange und ich habe Zeit das mal selbst zu bewerkstelligen. Leider ist auch in der Definition der Ports noch nicht die neue Version enthalten so das ich auch noch diese Definition “patchen” musste.
Der folgende Ansatz basiert im Wesentliche auf diesem sehr schönen Beitrag plus einige Hinweise von dem Autor in einer privaten Konversation.
Die Reihenfolge ist:
Zuerst ein Jail erstellen das der Release Version der Zielumgebung entspricht
bastille bootstrap 14.4-RELEASE
bastille create nodejs22-14 14.4-RELEASE 10.1.0.99/24 bastille0
bastille config nodejs22-14 set boot off
Außerdem ist sicherzustellen das aus dem Jail heraus die Firewall den Zugriff auf die diversen Software Seiten zulässt / ermöglicht.
Dann sicherstellen das die Pakete im “Bau-Jail” aus der gleichen Quelle kommen wie das Zieljail und Pakete aktualisieren. Ich verwende latest und default ist quartely
bastille console nodejs22-14
vi /etc/pkg/FreeBSD.conf
pkg update
pkg upgrade
Installation von git und download der Quelldefinition
env ASSUME_ALWAYS_YES=yes pkg bootstrap -f
pkg install -y git-tiny
git clone https://git.FreeBSD.org/ports.git /usr/ports
Wenn wir nicht das aktuelle brotli Paket haben scheitert gleich die nodejs Installation
cd /usr/ports/archivers/brotli/
make reinstall
Zum jetzigen Zeitpunkt hat die Portkonfiguration allerdings nicht auf die neueste Version gezeigt. Wie ich heute gelernt habe scheint es manchmal auszureichen hier einfach die Version in der Quelle einzutragen.
cd /usr/ports/www/node22/
vi Makefile.version
NODEJS_PORTVERSION= 22.23.4
und die Version auf 0 zu setzen
vi Makefile
PORTREVISION= 0
Damit wir nicht alle Quellen bauen müssen gibt es in dem verlinkten Artikel ein Script, das zuerst prüft welche Pakete fehlen und die werden normal aus den Paketquellen installiert. Der Rest wird gebaut.
vi build-nodejs22.sh
-----
#!/bin/sh
set -e
export BATCH=yes
P=/usr/ports
for o in www/node22; do
echo "=== $o"
missing=$(make -C $P/$o missing)
deps=$(printf '%s\n' "$missing" || true)
if [ -n "$deps" ]; then
pkg install -y $deps
fi
make -C $P/$o clean package install clean
done
----
chmod +x build-nodejs22.sh
./build-nodejs22.sh
Am Ende habe ich dann 2 Pakete
ls /usr/ports/packages/All/
brotli-1.2.1,1.pkg node22-22.23.4.pkg
die wir installieren könnten. Es soll jedoch besser sein diese in ein eigenes Repository zu packen und dieses dann als Quelle im Jail einzutragen. Auf dem Host also
mkdir /root/node22-23-4
cp /usr/local/bastille/jails/nodejs22-14/root/usr/ports/packages/All/* /root/node22-23-4/
pkg repo /root/node22-23-4/
Creating repository in /root/node22-23-4/: 100%
Packing files for repository: 100%
jail=mstdn2
mkdir -p /usr/local/bastille/jails/$jail/root/var/tmp/node22-local /usr/local/bastille/jails/$jail/root/usr/local/etc/pkg/repos
cp /root/node22-23-4/* /usr/local/bastille/jails/$jail/root/var/tmp/node22-local
cat > /usr/local/bastille/jails/$jail/root/usr/local/etc/pkg/repos/node22-local.conf <'EOF'
node22-local: {
url: "file:///var/tmp/node22-local",
signature_type: "none",
priority: 100,
enabled: yes
}
EOF
bastille pkg $jail update
bastille pkg $jail upgrade -g node22
Wenn ich dann in das Jail gehe und die Version prüfe
bastille console $jail
node -v
v22.23.4
Sieht es gut aus :-)
Sobald dies neue Version in den Paketquellen ist werde ich versuchen wird auf diese zurück zu schwenken.
Bei Nodejs24 hat das übrigens nicht so gut geklappt. Hier gab es Patches die auf die neueste Version aus den Herstellerquellen nicht angewendet werden konnten. Aber da zum Zeitpunkt des Versuches schon die original Updates am Horizont zu sehen waren habe ich das nicht weiter verfolgt.
Auch wenn die richtigen Updates bald kommen sollen hat sich die Übung gelohnt. Wer weiß wann ich das noch mal brauchen kann.
Bromptons in the house
Wir haben uns eine Lösung hauptpsächlich für die zukünftige Mobilität auf Reisen aber auch als Erweiterung des ÖPNV Radius gegönnt.
Die erste Runde um den Block war schon gut. Es fährt sich natürlich anders und ich fühle mich ein wenig wie so ein Gockel auf dem Rad.
Wir freuen uns schon damit im nächsten Urlaub die näheren Umgebungen der Reisestationen zu erkunden.

Wieder ein polizeiliches Kommunikationsproblem
Die Polizei erschießt einen Hund und leitet ein Strafverfahren wegen Bedrohung mit einer Schusswaffe sowie Widerstands gegen Vollstreckungsbeamt*innen ein und gibt das in einer Pressemitteilung bekannt.
Nach ein paar Tagen kommt dann eine stille “Uppsi” Korrektur. Der Hund war kein Kampfhund sondern ein Chihauha und der Mann war nicht der Gesuchte.
“funfact”: Das ist wieder ein Eintrag in der Polizeistatistik zu dem Punkt “Angriffe auf Polizeibeamte”
https://www.nd-aktuell.de/artikel/1203169.ludwigshafen-polizei-korrigiert-pressemitteilung-zu-erschossenem-chihuahua.html
Erlaubte Geschwindigkeitsübertretungen
hä?? Warum sollen jetzt autonom fahrende Autos schneller fahren dürfen als Menschen? Unser toller Autominister findet das eine tolle Idee
Und wer soll dann entscheiden ob es “situationsabhängig” sinnvoll ist in einer 30er Zone 40 zu fahren?
Im Rahmen der Gespräche im September haben sich das Bundesverkehrsministerium und Tesla darauf verständigt, dass das Fahrerassistenzsystem die zulässige Höchstgeschwindigkeit geringfügig – um maximal zehn Prozent – überschreiten darf. Deutschland hat seine Bereitschaft signalisiert, diesen Ansatz im europäischen Verfahren konstruktiv zu begleiten. Geringfügige Geschwindigkeitsüberschreitungen können situationsabhängig zu einem gleichmäßigeren und flüssigeren Verkehrsablauf beitragen.
Es ist für meinen persönlichen Verkehrsablauf immer flüssiger schneller zu fahren als erlaubt.

KFW Antrag für Wärmepumpe
ich bin noch etwas vom Donner gerührt.
Ich habe gerade einen Antrag für den Zuschuss für eine Wärmepumpe bei der KfW gestellt und innerhalb von 2 Minuten eine Zusage erhalten.
#Wärmepumpe
Füllstand der Gasspeicher in Deutschland
Ich hatte mich ja mal Anfang des Jahres mit einer Auswertung der Gasspeicherfüllstände beschäftigt.
So sieht es Ende Semptember aus. Bisher war ja die Politik “der Markt wird es richten”. Jetzt auf einmal stellt man fest das es der Markt wohl doch nicht richtet und es gibt eine Anweisung das die Speicher aufgefüllt werden müssen

Blutspenden
Hier wieder der übliche Reminder doch an an einen Blutspendetermin zu denken wenn es Euch gesundheitlich möglich ist. Gestern war bei mir die 45. Spende
Wann geht Ihr wieder spenden?

Schafzeit
Wenn Ihr mal etwas Entspannung und Natur sucht hier mal ein etwas anderer Tipp. Einfach mal etwas Zeit unter Schafen buchen. Das ist wirklich mal ein Erlebnis. https://eifelschafzeit.de/

Auszüge
Heute fliegt das zweite Vögelchen aus dem Nest.

Cisco Talos Reputation ändern
Vor einigen Tagen bin ich über einen Toot von Anne Roth auf die Talos Reputation aufmerksam geworden und haben festgestellt das mein Blog (und einige andere Seiten die auf dem Server laufen) als “Malicious Site” eingestuft worden sind. Ich vermute das liegt an einer Portweiterleitung die dort eingestellt ist.
Ich habe einen Antrag (Button Submit Web Reputation Ticket) eingestellt und innerhalb eines Tages wurde die Einschätzung meiner IP auf “Neutral” geändert 🙂
Das soweit zur Qualität eine Dienstes wie Cisco Talos
Füllstand der Gasspeicher in Deutschland
Ich hatte mich ja mal Anfang des Jahres mit einer Auswertung der Gasspeicherfüllstände beschäftigt.
So sieht es Ende August aus. Die ersten werden schon nervös
Bei einem extrem kalten Winter werden die Speicher bereits bis Ende Januar 2026 vollständig entleert – eine vollständige Versorgung ist dann bei aktuellen Verbrauchsmustern nicht mehr möglich.
