Upgrade von Alma Linux 9 auf Version 10

Wenn Sie meinen vorigen Blogbeitrag über Hetzner-Cloud-Benchmarks gelesen haben, ist Ihnen vielleicht aufgefallen, dass ich Alma Linux 10 in einer Hetzner-Cloud-Instanz ausgeführt habe, um dort Geekbench-Tests auszuführen. Das war nicht so einfach: Hetzner bietet Alma Linux 10 noch nicht als Installations-Image an.

Also habe ich eine neue Instanz zuerst mit Alma Linux 9 eingerichtet und danach mit Elevate ein Update auf Version 10 durchgeführt. Das ist erstaunlich unkompliziert gelungen, obwohl Version-10-Updates eigentlich noch im Beta-Test sind.

Upgrade von Alma Linux 9 auf Version 10 weiterlesen

Hetzner Cloud Mini-Benchmark

Die zwei günstigsten Angebote in der Hetzner-Cloud sind Instanzen mit zwei CPU-Cores, 4 GB RAM und 40 GB Diskspace: Einmal mit virtuellen ARM-CPU-Cores (»CAX11«), einmal mit virtuellen x86-Cores (»CX22«). Der Preis ist identisch: 3,95 EUR/Monat inkl. USt (für D) plus ein Aufpreis von 0,50 EUR/Monat für eine IPv4-Adresse. Die naheliegende Frage ist: Welches Angebot gibt mehr Rechenleistung? Dieser Frage bin ich an einem verregneten Pfingstsonntag auf den Grund gegangen.

Ein »virtueller CPU-Core« heißt in diesem Zusammenhang, dass auf einem Server mehrere/viele virtuelle Maschinen laufen. Je nach Auslastung kann es sein, dass die für eine virtuelle Maschine vorgesehen CPU-Cores nicht vollständig verfügbar sind. Es gibt auch virtuelle Maschinen mit dezidierten Cores, die immer zur Verfügung stehen — aber die sind natürlich teurer.

Hetzner Cloud Mini-Benchmark weiterlesen

📚 Swift 6 und SwiftUI

Eine Weile hat es so ausgesehen, als wäre »Swift 5« die letzte Auflage meiner Swift-Bücher. Um so mehr freut es mich, dass »Swift — Das umfassenden Handbuch« diese Woche rundumerneuert erschienen ist! Auch wenn der Verlag von der 5. Auflage spricht — aus meiner Sicht ist das Buch praktisch komplett neu. Aus der vorigen Auflage habe ich eigentlich nur einige Grundlagenkapitel übernommen (und aktualisiert), die die Syntax von Swift beschreiben.

Vollkommen neu ist hingegen der Fokus auf SwiftUI. Diese Bibliothek wird längerfristig das UIKit ablösen. SwiftUI erfordert in vielerlei Hinsicht ein Neulernen der UI-Programmierung. Der Aufwand lohnt sich! UIKit funktioniert plattformübergreifend (macOS, iOS etc.), passt sich automatisch an den Dark Mode an, übernimmt die Font-Einstellungen aus den Systemeinstellungen usw. Endlich könnenSie die Oberflächen Ihrer Apps per Code gestalten und sind nicht auf den unübersichtlichen Story-Board-Editor angewiesen.

Geändert hat sich das Buch auch aus einem zweiten Grund: Als ich die vorige Auflage verfasst habe, gab es ChatGPT noch nicht. Mit KI-Assistenten ändert sich der Coding-Alltag aber grundlegend. Sie müssen die Konzepte und Grundlagen verstehen; Details wie die Reihenfolge der Optionen, die Syntax exotischer Klassen etc. können Sie hingegen getrost KI-Tools überlassen. Mit etwas Glück werden brauchbare KI-Werkzeuge demnächst auch in Xcode integriert. (Diesbezüglich hat Apple viel versprochen, aber bisher wenig geliefert.) Bis es so weit ist, liefern auch ChatGPT, Claude oder Gemini verblüffend gute Code-Vorschläge.

Kurz und gut: »Swift — Das umfassende Handbuch« vermittelt Ihnen das Fundament, um selbstständig oder mit KI-Unterstützung eigene Apps zu entwickeln. Mehr Details zum Buch können Sie hier nachlesen:

https://kofler.info/buecher/swift/

AlmaLinux 10

Seit einigen Jahren ist CentOS kein produktionstauglicher RHEL-Klon mehr. Wer RHEL produktiv nutzen will, aber nicht dafür bezahlen kann, hat die Qual der Wahl: zwischen AlmaLinux, CentOS Stream (nicht für Langzeitnutzung), Oracle Linux, RHEL via Developer Subscription und Rocky Linux. Ich bin ein wenig zufällig im AlmaLinux-Lager gelandet und habe damit über mehrere Jahre, vor allem im Unterricht, ausgezeichnete Erfahrungen gemacht.

Nach diversen Tests mit der Beta-Version läuft AlmaLinux 10 jetzt nativ auf meinem Mini-PC (AMD 8745H), außerdem die aarch64-Variante in einer virtuellen Maschine auf meinem Mac. Dieser Artikel stellt die neue Version AlmaLinux 10 vor, die am 27. Mai 2025 freigegeben wurde, genau eine Woche nach dem Release von RHEL 10. Die meisten Informationen in diesem Artikel gelten auch für RHEL 10 sowie für die restlichen Klone. Oft beziehe ich mich daher im Text auf RHEL (Red Hat Enterprise Linux), also das zugrundeliegende Original. Es gibt aber auch ein paar feine Unterschiede zwischen dem Original und seinen Klonen.

AlmaLinux 10 mit Gnome Desktop

AlmaLinux 10 weiterlesen

acme.sh für eine REST-API

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.

acme.sh für eine REST-API weiterlesen

SSH-Server mit 2FA-Login

Der SSH-Dienst ist ein natürliches Angriffsziel jedes Servers. Klassische Abwehrmaßnahmen zielen darauf aus, den root-Login zu sperren (das sollte eine Selbstverständlichkeit sein) und mit Fail2ban wiederholte Login-Versuche zu blockieren. Eine weitere Sicherheitsmaßnahme besteht darin, den Passwort-Login mit einer Zwei-Faktor-Authentifizierung (2FA) zu verbinden. Am einfachsten gelingt das server-seitig mit dem Programm google-authenticator. Zusätzlich zum Passwort muss nun ein One-time Password (OTP) angegeben werden, das mit einer entsprechenden App generiert wird. Es gibt mehrere geeignete Apps, unter anderem Google Authenticator und Authy (beide kostenlos und werbefrei).

Es gibt verschiedene Konfigurationsoptionen. Ziel dieser Anleitung ist es, parallel zwei Authentifizierungsvarianten anzubieten:

  • mit SSH-Schlüssel (ohne 2FA)
  • mit Passwort und One-time Password (also mit 2FA)
Links die App »Google Authenticator«, rechts »Authy«

SSH-Server mit 2FA-Login weiterlesen

Test: Minisforum UM870

Hardware-Tests sind eigentlich nicht meine Spezialität, aber wenn ich schon einmal ein neues Gerät kaufe, kann es nicht schaden, ein paar Sätze zur Linux-Kompatibilität zu schreiben. Die Kurzfassung: relativ hohe Leistung fürs Geld, inkl. Windows-Pro-Lizenz, erweiterbar. Leise, aber nie lautlos. Weitestgehend Linux-kompatibel (Ausnahmen: WLAN, Bluetooth).

Test: Minisforum UM870 weiterlesen

Coding mit KI in der Praxis: Der Fragebogen

Vor einem dreiviertel Jahr haben Bernd Öggl, Sebastian Springer und ich das Buch Coding mit KI geschrieben und uns während dieser Zeit intensiv mit diversen KI-Tools und Ihrer Anwendung beschäftigt.

Was hat sich seither geändert? Wie sieht die berufliche Praxis mit KI-Tools heute aus? Im folgenden Fragebogen teilen wir drei unsere Erfahrungen, Wünsche und Ärgernisse. Sie sind herzlich eingeladen, in den Kommentaren eigene Anmerkungen hinzuzufügen.

Coding mit KI in der Praxis: Der Fragebogen weiterlesen

Künstliches Scheitern: Technische Diagramme mit KI-Tools zeichnen

Unser Buch Coding mit KI wird gerade übersetzt. Heute musste ich diverse Fragen zur Übersetzung beantworten und habe bei der Gelegenheit ein paar Beispiele aus unserem Buch mit aktuellen Versionen von ChatGPT und Claude noch einmal ausprobiert. Dabei ging es um die Frage, ob KI-Tools technische Diagramme (z.B. UML-Diagramme) zeichnen können. Die Ergebnisse sind niederschmetternd, aber durchaus unterhaltsam :-)

Künstliches Scheitern: Technische Diagramme mit KI-Tools zeichnen weiterlesen