KVM-Host mit Ubuntu einrichten

Ca. alle vier Jahre wiederholt sich das gleiche Spiel: Ich bestelle einen neuen Root-Server, installiere dort die aktuelle Version von Ubuntu Server LTS und richte das Virtualisierungssystem KVM ein. Sobald dieses läuft, migriere ich meine virtuellen Maschinen, zu denen unter anderem der Server für kofler.info zählt, auf den neuen Host. Die Down-Time beträgt in der Regel weniger als eine Stunde und ergibt sich durch den Zeitraum für die Aktualisierung der DNS-Einträge.

Mit dem Betrieb eines eigenen Virtualisierungssystem entspreche ich nicht ganz dem Cloud-Zeitgeist. Natürlich gibt es unzählige Hoster (an erster Stelle natürlich Amazon), die mir virtuelle Maschinen für den Betrieb von Linux-Installationen anbieten. Die Verwendung eines »echten« (sprich: altmodischen) Root-Servers kann allerdings eine Menge Geld sparen, bringt mehr Flexibilität mit sich und hält mein KVM-Know-how einigermaßen aktuell :-)

Dieser Artikel fasst die wichtigsten Details zur Konfiguration des KVM-Hosts (Ubuntu) sowie von virtuellen Maschinen (Ubuntu sowie RHEL/CentOS/Oracle) zusammen. Beachten Sie, dass einige Details der Netzwerkkonfiguration providerspezifisch sind und für Hetzner gelten.

KVM-Host mit Ubuntu einrichten weiterlesen

VSCode und SSH

Wenn Sie einmal an die Vorzüge von VSCode zu schätzen gelernt haben, möchten Sie diese auch dann nutzen, wenn Sie remote via SSH einen Server administrieren oder Code verfassen. VSCode läuft aber nur im Grafikmodus und kann daher nicht direkt in typischen Server-Installationen ausgeführt werden. Hier schlägt die Stunde von Editoren, die wie Vi oder Emacs im Textmodus laufen und daher auch in einer SSH-Session funktionieren …

Ich will Sie hier aber nicht von den Vorteilen alter Text-Modus-Editoren überzeugen, sondern Ihnen stattdessen die ausgesprochen praktische VSCode-Erweiterung Remote SSH vorstellen: Damit läuft VSCode weiterhin auf Ihrem lokalen Rechner. Via SSH können Sie nun die Dateien eines Remote-Verzeichnisses auflisten, bearbeiten, verändern und speichern — ganz so, als würden Sie lokale Dateien bearbeiten.

VSCode und SSH weiterlesen

SwiftUI

Im Frühjahr 2019 stellte Apple SwiftUI vor. Das ist eine neue Bibliothek, um grafische Benutzeroberflächen durch Swift-Code zusammenzusetzen. SwiftUI spart Millionen Maus- oder Trackpad-Bewegungen, die beim bisherigen Verfahren auf der Basis von UIKit erforderlich waren.

Mittlerweile ist SwiftUI einigermaßen praxistauglich. Zeit also, einen Blick auf neue Denkweisen und Paradigmen zu werfen! (Der präsentierte Code und die Screenshots beziehen sich auf Xcode 12 mit Swift 5.3.)

Update Juni 2022: Das mit der Praxistauglichkeit ist so eine Sache. Viele SwiftUI-Entwickler sind vom Konzept begeistert, aber stoßen früher oder später auf schwer (oder gar nicht) überwindbare Hürden. Lesen Sie unbedingt https://mjtsai.com/blog/2022/05/24/swiftui-in-2022/, bevor Sie Ihr erstes SwiftUI-Projekt starten!

SwiftUI weiterlesen

Swift 5.3

Zusammen mit Xcode 12 hat Apple im September 2020 auch Swift 5.3 freigegeben. Die neueste Swift-Version zeichnet sich durch viele Verbesserungen »unter der Haube« aus (höhere Kompiliergeschwindigkeit, klarere Fehlermeldungen, bessere Einrückungen im Editor); neue Sprach-Features sind dagegen kaum zu finden. Dafür gibt es aber interessante Neuerungen im Swift-Umfeld, beispielsweise:

  • eine Windows-Version (die ich nicht getestet habe)
  • die neue Standardbibliothek »Swift System«, die vor allem für Linux-Entwickler interessant ist
  • die neue Bibliothek »Swift Atomics« für atomare Operationen in asynchronem Code
  • Verbesserungen beim Paketmanager

Ich beschränke mich im Folgenden auf die interessantesten neuen Features, die für die alltägliche Programmierung relevant sind.

Swift 5.3 weiterlesen

Kali Linux unter Windows (WSL2) im Grafikmodus

Kali Linux kann schon seit geraumer Zeit mittels WSL unter Windows ausgeführt werden. Ganz neu ist die Möglichkeit, Kali Linux in Kombination mit WSL2 auch im Grafikmodus zu nutzen. Das dazu erforderliche Paket kali-win-kex (Kex steht für Kali Desktop Experience) setzt dabei auf das bewährte Protokoll VNC.

Kali Linux unter Windows (WSL2) im Grafikmodus weiterlesen

USB-Boot für den Raspberry Pi 4

Seit Anfang September 2020 gibt es ein EEPROM-Update für den Raspberry Pi 4, das eine von älteren Modellen bekannte Funktion endlich auf für die Version 4 implementiert: Das Booten von externen USB-Datenträgern. Damit können Sie Ihren Raspberry Pi 4 ohne die auf Dauer oft unzuverlässige SD-Karte betreiben.

Testaufbau: Raspberry Pi 4B mit einer älteren SATA-SSD, die über ein USB-Kabel angeschlossen ist

Updates: Hinweis auf Inkompatibilitäten mit verschiedenen USB/SATA-Adaptern, Warnung vor rpi-update. Tipp: Werfen Sie unbedingt auch einen Blick in das Raspberry-Pi-Forum.

USB-Boot für den Raspberry Pi 4 weiterlesen

Git-Buch erschienen

Als in den 1990er-Jahren Linux populär wurde, zählte ich zu den ersten deutschsprachigen Autoren, die dazu ein Buch verfassten. Insofern ist es ein wenig verwunderlich, dass ich mir mit einem Buch zu Linus Torvalds zweitem Meisterstück, der Versionsverwaltungs-Software Git, fast 15 Jahre Zeit ließ.

Dass das Git-Buch nun doch endlich zustande kam, ist vor allem der Hartnäckigkeit meines Lektors Christoph Meister zu verdanken. Schon vor mehr als einem Jahr setzten Bernd Öggl (mit dem ich zuletzt das Docker-Buch verfasst habe) und ich die Unterschrift auf den Vertrag. Verschiedene andere Projekte hielten das Buch mehrfach auf, aber jetzt ist es erschienen.

Bernd und ich haben das Gefühl, dass uns ein wirklich schönes Buch gelungen ist: Es beschreibt Git in seiner ganzen Breite, vom Einstieg in der Konsole oder mit Visual Studio Code bis hin zu fortgeschrittenen Themen wie Rebasing, CI-Pipelines oder LFS. Inhaltlich bleiben wir nicht bei der Git-Anwendung auf der Kommandoebene stehen, sondern gehen auch auf allgemeine Arbeitstechniken ein (z.B. Workflows) und zeigen, welche neuen Möglichkeiten sich im Zusammenspiel mit den großen Git-Plattformen ergeben (also GitHub, GitLab & Co.). Werfen Sie einen Blick in Vorwort und Inhaltsverzeichnis (PDF)!

Das Buch hat 416 Seiten und ist ab sofort beim Rheinwerk Verlag sowie in allen Buchhandlungen lieferbar.

Hier finden Sie weitere Informationen samt einer längeren Inhaltsbeschreibung, Errata, Beispieldateien etc.

Git und der Master-Zweig

Infolge der Unruhen in den USA nach dem Tod von George Floyd wurde in der IT-Branche darüber diskutiert, ob/wie man Begriffe vermeiden kann, die als rassistisch gewertet werden können: Master/Slave-Prozesse, White- und Blacklists etc. Im Git-Umfeld betrifft das den Master-Zweig. (Manche Leute betrachten das als Haarspalterei: Es gibt in Git ja keinen Slave-Zweig. Master hat/hatte in Git nichts mit einer rassistisch geprägten Hierarchie zu tun.)

Wie dem auch sei: Die soeben vorgestellte Git-Version 2.28 bietet die Möglichkeit, bei neuen Repositories einen anderen Namen als master zu verwenden.

Git und der Master-Zweig weiterlesen