Armbian v25.5 läuft auf weiteren Geräten
Die Distribution Armbian bringt ein leichtgewichtiges Debian vor allem auf ARM- und RISC-V-Systeme.
Die Distribution Armbian bringt ein leichtgewichtiges Debian vor allem auf ARM- und RISC-V-Systeme.
Die Distribution Armbian bringt ein leichtgewichtiges Debian vor allem auf ARM- und RISC-V-Systeme.
Stefan Wiehler hat einen Kernel-Treiber entwickelt, über den sich alte Telefone mit Wählscheibe unter Linux als Eingabegerät verwenden lassen. Notwendig ist dafür eine kleine Elektronikschaltung.
Nach einer kurzen Verzögerung durch einen späten Fehlerbericht ist Linux 6.15 offiziell erschienen. Ein Feature musste in letzter Minute deaktiviert werden. Trotzdem bringt die neue Version zahlreiche Verbesserungen im Speicher-, Datei- und Sicherheitssystem mit. Im Fokus stehen Optimierungen für Container, effizientere Speicherverwaltung und Inline-Verschlüsselung. Auch das Dateisystem Bcachefs wurde stark erweitert. Btrfs, Ext4 und F2FS […]
Der Beitrag Linux Kernel 6.15 veröffentlicht: Viele Neuerungen unter der Haube erschien zuerst auf fosstopia.
Stefan Wiehler hat einen Kernel-Treiber entwickelt, über den sich alte Telefone mit Wählscheibe unter Linux als Eingabegerät verwenden lassen. Notwendig ist dafür eine kleine Elektronikschaltung.
Der bekannte E-Gitarren-Hersteller Fender hat eine neue eigene Audio-Software veröffentlicht.
Die „Warbler“ getaufte neue Version der Distribution NixOS aktualisiert zahlreiche Softwarekomponenten und fügt fast 8.000 neue Pakete hinzu.
Der bekannte E-Gitarren-Hersteller Fender hat eine neue eigene Audio-Software veröffentlicht.
Die „Warbler“ getaufte neue Version der Distribution NixOS aktualisiert zahlreiche Softwarekomponenten und fügt fast 8.000 neue Pakete hinzu.
Wissenschaftler der Princeton Universität und von Google DeepMind haben nun in einem Forschungsbericht gezeigt, warum sich viele Sprachmodelle dazu bringen lassen, gefährliche Inhalte zu…
Das Uutils-Projekt reimplementiert die Kernwerkzeuge eines Linux-Systems in Rust. Mit der neuen Version 0.1.0 hat die Entwicklung weiter an Fahrt aufgenommen.
Das Uutils-Projekt reimplementiert die Kernwerkzeuge eines Linux-Systems in Rust. Mit der neuen Version 0.1.0 hat die Entwicklung weiter an Fahrt aufgenommen.
OpenCloud, eine Open-Source-Plattform für Filemanagement, Filesharing und digitale Zusammenarbeit, bringt jetzt Kalender und Kontakte mit.
Vom 26. Mai bis zum 1. Juni findet die erste bundesweite Mobilfunk-Messwoche statt, teilt die Bundesnetzagentur mit. Die Messwoche ist eine gemeinsame Initiative von Bund, Ländern und Kommunen.
Linux-Spiele-Benchmarks haben sich zu einer festen Größe auf ComputerBase entwickelt, allerdings waren Messungen vorrangig auf (ältere) AMD Radeon beschränkt. In Zukunft gibt es jertzt auch Ergebnisse mit AMD Radeon RX 9070 und Nvidia GeForce RTX 5070 sowie Intel Arc B580. Umfassende Analysen sind damit möglich.
Im Mai 2024 gelang dem Bundeskriminalamt (BKA) und seinen internationalen Partnern mit der Operation Endgame ein Schlag gegen die Cyberkriminalität.
Seit vielen Jahren verwende ich Let’s Encrypt-Zertifikate für meine Webserver. Zum Ausstellen der Zertifikate habe ich in den Anfangszeiten das Kommando certbot genutzt. Weil die Installation dieses Python-Scripts aber oft Probleme bereitete, bin ich schon vor vielen Jahren auf das Shell-Script acme.sh umgestiegen (siehe https://github.com/acmesh-official/acme.sh).
Kürzlich bin ich auf einen Sonderfall gestoßen, bei dem acme.sh nicht auf Anhieb funktioniert. Die Kurzfassung: Ich verwende Apache als Proxy für eine REST-API, die in einem Docker-Container läuft. Bei der Zertifikatausstellung/-erneuerung ist Apache (der auf dem Rechner auch als regulärer Webserver läuft) im Weg; die REST-API liefert wiederum keine statischen Dateien aus. Die Domain-Verifizierung scheitert. Abhilfe schafft eine etwas umständliche Apache-Konfiguration.
Ausgangspunkt ist also ein »gewöhnlicher« Apache-Webserver. Dieser soll nun zusätzlich eine REST-API ausliefern, die in einem Docker-Container läuft (localhost:8880). Die erste Konfiguration sah ziemlich simpel aus:
# zusätzliche Apache-Proxy-Konfigurationsdatei
# für einen Docker-Container
<VirtualHost *:443>
ServerName api.example.com
# SSL
SSLEngine on
SSLCertificateFile /etc/acme-letsencrypt/api.example.com.pem
SSLCertificateKeyFile /etc/acme-letsencrypt/api.example.com.key
# Proxy: localhost:8880 <-> https://api.example.com
ProxyPreserveHost On
ProxyPass / http://localhost:8880/
ProxyPassReverse / http://localhost:8880/
# Logging Konfiguration ...
</VirtualHost>
# HTTP -> HTTPS
<VirtualHost *:80>
ServerName api.example.com
Redirect permanent / https://api.example.com
</VirtualHost>
Das Problem besteht darin, dass acme.sh zwar diverse Domain-Verifizierungsverfahren kennt, aber keines so richtig zu meiner Konfiguration passt:
acme.sh ... --webroot scheitert, weil die API eine reine API ist und keine statischen Dateien ausliefert.acme.sh ... --standalone scheitert, weil der bereits laufende Webserver Port 80 blockiert.acme.sh ... --apache scheitert mit could not resolve api.example.com.well-known.Die Lösung besteht darin, die Apache-Proxy-Konfiguration dahingehend zu ändern, dass zusätzlich in einem Verzeichnis statische Dateien ausgeliefert werden dürfen. Dazu habe ich das neue Verzeichnis /var/www/acme-challenge eingerichtet:
mkdir /var/www/acme-challenge
chown www-data:www-data /var/www/acme-challenge/
Danach habe ich die Konfigurationsdatei für Apache umgebaut, so dass Anfragen an api.example.com/.well-known/acme-challenge mit statischen Dateien aus dem Verzeichnis /var/www/acme-challenge/.well-known/acme-challenge bedient werden:
# Apache-Konfiguration wie bisher
<VirtualHost *:443>
ServerName api.example.com
# SSL
SSLEngine on
SSLCertificateFile /etc/acme-letsencrypt/api.example.com.pem
SSLCertificateKeyFile /etc/acme-letsencrypt/api.example.com.key
# Proxy: localhost:8880 <-> api.example.com
ProxyPreserveHost On
ProxyPass / http://localhost:8880/
ProxyPassReverse / http://localhost:8880/
# Logging Konfiguration ...
</VirtualHost>
# geändert: HTTP auf HTTPS umleiten, aber nicht
# für well-known-Verzeichnis
<VirtualHost *:80>
ServerName api.example.com
# Handle ACME challenges locally
Alias /.well-known/acme-challenge /var/www/acme-challenge/.well-known/acme-challenge
<Directory /var/www/acme-challenge/.well-known/acme-challenge>
Require all granted
</Directory>
# Redirect everything EXCEPT ACME challenges to HTTPS
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/
RewriteRule ^(.*)$ https://api.example.com$1 [R=301,L]
</VirtualHost>
Nach diesen Vorbereitungsarbeiten und mit systemctl reload apache2 gelingt nun endlich das Zertifikaterstellen und -erneuern mit dem --webroot-Verfahren. Dabei richtet acme.sh vorübergehend die Datei /var/www/acme-challenge/.well-known/acme-challenge/xxx ein und testet dann via HTTP (Port 80), ob die Datei gelesen werden kann.
# Zertifikat erstmalig erstellen
acme.sh --issue --server letsencrypt -d api.example.com --webroot /var/www/acme-challenge
# Zertifikat installieren und Renew-Prozess einrichten
acme.sh --install-cert -d api.example.com \
--key-file /etc/acme-letsencrypt/api.example.com.key \
--fullchain-file /etc/acme-letsencrypt/api.example.com.pem \
--reloadcmd "service apache2 reload"
# Renew-Prozess testen
acme.sh --renew -d api.example.com --force
Eine noch elegantere Lösung besteht darin, den Docker-Container mit Traefik zu kombinieren (siehe https://traefik.io/traefik/). Bei korrekter Konfiguration kümmert sich Traefik um alles, nicht nur um die Proxy-Funktionen sondern sogar um das Zertifikatsmanagment. Aber diese Lösung kommt nur in Frage, wenn auf dem Host nicht schon (wie in meinem Fall) ein Webserver läuft, der die Ports 80 und 443 blockiert.
Auf der Suche nach einem Arbeitsfluss für die Bearbeitung und Annotation von Bildschirmaufnahmen gibt es ein neues Puzzleteil. Dennoch ist die Situation unbefriedigend.


Die Chat-App Signal hat eine klare Haltung zur neuen “Recall”-Funktion in Windows 11 bezogen. Um automatische Screenshots privater Chats zu verhindern, greift Signal zu ungewöhnlichen Mitteln. Mithilfe von Windows’ Digital Rights Management (DRM) wird das Aufzeichnen der Signal-Fenster blockiert. Microsofts “Recall” erstellt regelmäßig Bildschirmaufnahmen, um Aktivitäten rückverfolgbar zu machen. Das Tool ignoriert zwar Inkognito-Browserfenster, doch […]
Der Beitrag Signal blockiert Microsofts “Recall”-Funktion aus Datenschutzgründen erschien zuerst auf fosstopia.
Wir schreiben das Jahr 2025. Die Frage, ob man Linux-Server mit oder ohne Swap-Partition betreiben sollte, spaltet die Linux-Gemeinschaft in einer Weise, wie wir es seit dem Editor War nicht mehr gesehen haben…
So könnte ein spannender Film für Sysadmins anfangen, oder? Ich möchte aber keinen Streit vom Zaun brechen, sondern bin an euren Erfahrungen und Gedanken interessiert. Daher freue ich mich, wenn ihr euch die Zeit nehmt, folgende Fragen in den Kommentaren zu diesem Beitrag oder in einem eigenen Blogpost zu beantworten.
Eine kleine Mastodon-Umfrage lieferte bisher folgendes Bild:
Schaue ich mir meine eigenen Server an, so ergibt sich ein gemischtes Bild:
Bis auf den Container-Host handelt es sich um Bare-Metal-Server.
Ich kann mich nicht daran erinnern, dass jemals einem dieser Systeme der Hauptspeicher ausgegangen ist oder der Swapspeicher genutzt worden wäre. Ich erinnere mich, zweimal Swapping auf Kunden-Servern beobachtet zu haben. Die Auswirkungen waren wie folgt.
Im ersten Fall kamen noch SCSI-Festplatten im RAID zum Einsatz. Die Leistung des Gesamtsystems verschlechterte sich durch das Swapping so stark, dass bereitgestellten Dienste praktisch nicht mehr verfügbar waren. Nutzer erhielten Zeitüberschreitungen ihrer Anfragen, Sitzungen brachen ab und das System war nicht mehr administrierbar. Am Ende wurde der Reset-Schalter gedrückt. Das Problem wurde schlussendlich durch eine Vergrößerung des Hauptspeichers gelöst.
Im zweiten Fall, an den ich mich erinnere, führte ein für die Nacht geplanter Task zu einem erhöhten Speicherverbrauch. Hier hat Swapping zunächst geholfen. Tasks liefen zwar länger, wurden aber erfolgreich beendet und verwendeter Hauptspeicher wurde anschließend wieder freigegeben. Hier entstand erst ein Problem, als der Speicherbedarf größer wurde und die Swap-Partition zu klein war. So kam es zum Auftritt des Out-of-Memory-Killer, der mit einer faszinierenden Genauigkeit immer genau den Prozess abgeräumt hat, den man als Sysadmin gern behalten hätte. Auch hier wurde das Problem letztendlich durch eine Erweiterung des Hauptspeichers gelöst.
Ich erinnere mich auch noch an die ein oder andere Anwendung mit einem Speicherleck. Hier hat vorhandener Swap-Speicher das Leid jedoch lediglich kurz verzögert. Das Problem wurde entweder durch einen Bugfix oder den Wechsel der Anwendung behoben.
Nun bin ich auf eure Antworten und Erfahrungsberichte gespannt.
Monate nach Release der RX 9070 (XT) Grafikkarten, bringt AMD nun den ROCm-Treiber. Das Team hinter Fedora setzt ab Version 43 auf einen Wayland-Only-Release mit Gnome. Gallium Nine verschwindet aus Mesa. Ubuntu setzt auf einen neuen Zeitsynchronisations-Dienst. Microsoft trägt zu Mesa bei.
Der Name meines Blogs ist Programm. Es dient mir als digitales Gedächtnis für IT-Themen, die mich mich beschäftigt haben und die nochmal interessant werden können. Es ist eine Art Wissensdatenbank, auf die ich auch gerne zugreifen können möchte, wenn ich mal keine Internetverbindung habe.
Inspiriert durch den heutigen Beitrag von Dirk, möchte ich hier kurz beschreiben, was ich tue, um eine statische Version meines Blogs zu erstellen, welche ich einfach auf dem Laptop, Smartphone oder Tablet mitnehmen kann.
Ich verwende das Plugin Simply Static – The WordPress Static Site Generator, um eine statische Version meines Blogs zu erzeugen und als Zip-Archiv zu speichern. Möchte ich auf die statische Version meines Blogs zugreifen, entpacke ich das Zip-Archiv in ein Verzeichnis wie z.B. /tmp/simply-static/ und öffne anschließend in einem Webbrowser die Datei /tmp/simply-static/index.html.

So kann ich z.B. auch dann auf meine Artikel und Anleitungen zugreifen, wenn mein Webserver oder Internetzugriff nicht verfügbar ist. Die Suche auf der Seite funktioniert nur sehr eingeschränkt. Hier behelfe ich mir mit einer Dateisystemsuche im Terminal.
Ein paar Zahlen:
Mir gefällt an dieser Lösung, dass ich auf meinem mobilen Gerät keinen Container, ja noch nichmal einen Webserver, sondern nur einen Browser benötige. Das ist einfach, sparsam und robust.
Was haltet ihr davon ein Blog auf diese Weise offline verfügbar zu machen? Tragt ihr eure Blogs auch mit euch herum? Welche Werkzeuge nutzt ihr, um sie stets bei euch zu haben? Teilt euch gerne in den Kommentaren oder einem eigenen Blog mit.
Dieser Artikel ist Teil der #BlogWochen2025. Von Mai bis Oktober schreiben (zumindest) Robert, Dirk und ich über unterschiedliche Themen rund ums Bloggen. Du kannst gerne jederzeit einsteigen und mitmachen – die gesammelten Posts aller Teilnehmer:innen findest du auf dieser Seite und kannst sie auch als Feed abonnieren.