Sicherungsprogramm für Unified Kernel Images
Ein Unified Kernel Image enthält alle Teile, die zum Booten des Systems notwendig sind. Es enthält den Kernel, die initrd und die Kernel-Kommandozeile in einer einzigen Datei. Sichert man diese Datei, lässt sich ein komplettes Backup der Boot-Systemkonfiguration erstellen. Diese lässt sich einfach zum Boot-Menü hinzufügen. Wenn etwas mit dem aktuellen Kernel-Image oder dessen Konfiguration schiefläuft, kann man im Boot-Menü einfach die Sicherungskopie auswählen und die vorhergehende Kernel-Konfiguration starten. Das Tool ukibak
automatisiert das Erstellen des Backups.
Systemhärtung mit systemd
Kein System ist frei von Fehlern. Das trifft auch auf Netzwerkdienste zu, welche auf Serversystemen laufen. Das Problem dabei ist, dass sich hier lange Laufzeit des Programms und große Angriffsfläche sehr unvorteilhaft ergänzen. Systemd bietet hier allerdings einige fortschrittliche Möglichkeiten das Risiko, unter anderem mit Hilfe von Containertechnik, drastisch zu reduzieren.
Wie baut man einen Hardwarezufallsgenerator?
Computerprogramme sollen deterministisch sein und immer auf die gleiche Weise ablaufen. Doch für manche Anwendungsfälle ist Zufall eine entscheidende Komponente. Sei es zum Erzeugen von sicheren kryptografischen Schlüsseln oder um Stichproben aus einer Gesamtmenge auszuwählen. Aber wie erzeugt man zuverlässig Zufall auf einem deterministischen System?
Installation von Debian in der VM
Dies ist der dritte Teil der Artikelserie zur Linux-Virtualisierung mit KVM. Er befasst sich mit der Installation von Linux in der VM. Die hierfür notwendigen Vorarbeiten sind im Artikel “Virtualisierung mit KVM” und “Firewalling und NAT für die private Cloud” beschrieben.
Firewalling und NAT für die private Cloud
Der Artikel Virtualisierung mit KVM hat gezeigt, wie man eine virtuelle Maschine auf dem eigenen Heimserver einrichtet. Nun stellt sich die Frage: Wie kommt die VM ins Netz und wie kann man aus dem Internet auf die VM zugreifen?
Virtualisierung mit KVM
Nachdem der Trend immer mehr zur private Cloud geht, stellt sich natürlich die Frage, wie man so etwas auch sicher realisieren kann. Viele haben einen kleinen Server im Keller oder Abstellraum stehen, der sich prima für die eigenen Cloudexperimente eignen würde. Aber möchte man wirklich den Internetzugriff auf dieses System erlauben?
Kleiner endlicher Automat (finite state machine)
Für ein Mikrocontrollerprojekt brauchte ich einen kleinen, übersichtlich zu implementierenden endlichen Automaten (FSM - finite state machine). D.h. ein Softwarekonstrukt, welches aufgrund bestimmter Ereignisse (hier Tastendrücke auf einer Fernbedienung) zwischen verschiedenen Zuständen wechselt. Zustandsautomaten habe ich schon eine ganze Menge implementiert und dafür auch fertige Bibliotheken genutzt. Doch für einen Mikrocontroller musste es eine besonders leichtgewichtige Implementierung sein.
Die fehlenden Arrayfunktionen in PHP
PHP bietet einen riesigen Fundus an Array-Funktionen. Unter diesen 77 Funktionen fehlen kurioser Weise drei, die man eigentlich erwarten würde.
Die Rolle des Fehlers
Heutzutage werden Fehler häufig als unerwünscht betrachtet. Viel Aufwand wird investiert um Fehler zu vermeiden und Risiken zu minimieren. Dabei sind Fehler gerade das, was häufig zu neuen, besseren Technologien führt.
Gastnetz und VLANs mit DD-WRT
Der Linksys Wireless Router WRT54GL ist bei Amazon schon für unter 40€ zu haben. Das Gerät hat es wirklich in sich. Es beherrscht echte 802.1q VLANs und dazu noch Multi-SSID. Was liegt also näher, als endlich ein Gast-WLAN aufzubauen, welches Freunden und Bekannten bequemen Zugriff ins Internet ermöglicht, ohne dass deren Geräte sich direkt im internen Netzwerk einbuchen müssen.
Datumsrechnung in Shell-Scripten
Wer häufiger Shellscripte für Linux erstellt, hatte bestimmt schon häufiger das Problem, dass er das Datum des nächsten Ersten oder die Uhrzeit minus eine Stunde ermitteln musste. In vielen Scripten wird dann wild mit Shellvariablen und Shell-Funktionen herumoperiert. Dabei gibt es doch unter Linux einen viel einfacheren - und besseren - Weg mit dem Datum zu jonglieren.
Freihand Icons für WPF
Ich arbeite gerade an einer WPF-Applikation, welche wie ein Notizblock aussehen soll. Natürlich passen die von Windows bereitgestellten Icons und Buttons nicht wirklich zu diesem Design. Also habe ich überlegt, wie ich handgezeichnete Icons in WPF übernehmen kann. Der erste Versuch einfach eingescannte PNG-Bilder zu verwenden sah - zumindest in höheren Zoomstufen - schrecklich aus. Doch zum Glück gibt es eine Möglichkeit Icons als Vektorgrafik in WPF zu überführen.
Deklaratives Multithreading
Heute habe ich meinen Artikel zum Thema “Deklaratives Multithreading” auf CodeProject online gestellt.
Fallback mit MD-RAID
Nachdem ich meinen Heimserver einmal wieder upgraden musste und es vielen evtl. ähnlich geht, möchte ich hier eine Methode beschreiben, wie ein RAID 1 Softwareraid (MD-Device) als schnelle Fallbackmethode verwendet werden kann.
Shellscript INI-Parser
Manchmal müssen auch Shell-Scripte konfigurierbar sein. Um mehrere, zufällige Playlisten für meine Musiksammlung zu erstellen, wollte ich ein Script haben, welches eine Konfigurationsdatei auswertet und für jeden Abschnitt die gleiche Aktion ausführt. Gleichzeitig sollte es sich durch falsche INI-Direktiven nicht durcheinander bringen lassen und wie eine gängige INI-Datei aufgebaut sein. Die Lösung ist dieses Shellscript, welches eine INI-Datei abarbeitet.
Vim Kurzreferenz
Vi ist neben Emacs der Texteditor auf Linux Systemen. Leider ist seine Lernkurve ziemlich steil. Das zeigt sich schon daran, dass Anfänger häufig schon daran scheitern den Editor wieder zu beenden, nachdem sie ihn aus versehen geöffnet haben. Dabei sind Vi und sein Nachkomme Vim (Vi improved) sehr mächtigte Editoren. Daher hier eine (nicht ganz so kurze) Kurzübersicht der wichtigsten Kommandos für Vim.
VDR Sanitizer
Der Linux VDR von Klaus Schmidinger hat mittlerweile einen Reifegrad erreicht, in dem er vielen kommerziell erhältlichen Festplattenrekordern überlegen ist. Auch Hardwareprojekte wie z. B. das AV-Board oder der Flash VDR Remote Adapter1 gehören zu den Produkten, welche für den VDR entwickelt wurden. Jedoch ist ein (aus meiner Sicht gravierendes) Manko bisher nicht beseitigt worden: Der VDR hat an bestimmter Hardware Probleme Dolby Digital Ton über die DVB-Karte auszugeben.
Disk Optimizer
Der Flash Systems Disk Optimizer ist ein Defragmentierungsprogramm für NTFS-Laufwerke. Es ordnet die Dateien auf dem Laufwerk neu an, um den Zugriff auf diese zu beschleunigen.
VDR Remote Adapter
Der Flash VDR Remote Adapter ist das erste Hardwareprojekt von Flash Systems. Mittlerweile ist das Projekt schon etliche Jahre alt, allerdings ist es als Referenz immer noch zu gebrauchen.