Alle Beiträge von Hermann Apfelböck

Platine Odroid M1 (seit Frühjahr 2022)

Seit Erscheinen des Raspberry-Modells 4 ist es für andere Platinenhersteller eine echte Herausforderung, zu einem angemessenen Preis ein überzeugendes Konkurrenzprodukt anzubieten. Der neue Odroid M1 will mit Sata-3-Port und NVMe-Slot punkten.

Die Platinenfamilie Odroid des koreanischen Herstellers Hardkernel (www.hardkernel.com) gehört seit Jahren zu den größten Raspberry-Konkurrenten. Die Odroid-Hardware ist robust und in der Regel ausgewogen konzipiert. Das einfache Grundkonzept war schon immer, für etwas mehr Geld mehr Leistung als der gerade aktuelle Raspberry zu liefern oder andere Anschlussmöglichkeiten als dieser. Die bisherige Palette mit Odroid XU4, Odroid HC4, Odroid N2 und Odroid H2 (nicht mehr verfügbar) wird neuerdings ergänzt durch die Platine Odroid M1.

Odroid M1: Schnell ausverkauft

Mit 150 Euro muss man mindestens rechnen, sofern man neben der eigentlichen Platine (etwa 100 € oder 120 € mit 4 GB oder 8 GB RAM) das unentbehrliche Netzteil (etwa 7 Euro), ein Gehäuse (etwa 13 Euro) und ein Kabel- und Montage-Set für Sata (etwa 13 Euro) benötigt. Und Achtung: Dies waren die Preise einschlägiger Elektronik-Versandhändler wie Pollin oder Reichelt im April und Mai 2022. Seit der Odroid M1 in erster Marge schnell vergriffen war, stiegen umgehend die Preise.

Die nachfolgenden Eckdaten versprechen in der Tat ein besonders flott laufendes Betriebssystem dank Installation auf NVMe, Sata oder eMMC sowie einen rasanten Serverbetrieb dank Sata-Laufwerk. Ein Sorglospaket für Einsteiger ist die Platine im Unterschied zum universellen Raspberry 4 indes nicht: WLAN- und Bluetooth-Chip fehlen, beim Einsatz eines Sata-Laufwerks gibt es Bedingungen, die man vorab kennen sollte, und auch bei USB ist nicht jede beliebige Anschlussoption möglich. Nicht zuletzt gibt es vorläufig nur ein schmales Angebot bei der Systemsoftware, sodass der Käufer bei der Auswahl des Betriebssystems eventuell Kompromisse eingehen muss. Aber das lohnt die Hardware allemal.

Anschlussfreudiger Odroid M1: Die Standardports oben bieten Gigabit-Ethernet, HDMI, je zweimal USB 2.0 und USB 3.0. Darunter gibt es den Slot für eine NVMe-SSD, rechts unten Sata-Datenport und Sata-Stromversorgung, unten Mitte den eMMC-Anschluss. GPIO-Pins und Audio-Klinkenbuchse sind ebenfalls vertreten.

Odroid M1: Die technischen Eckdaten

Die ARM-Hardware läuft mit einem leicht angepassten Rockchip-Prozessor (RK3568B2) mit vier Cortex A55-Kernen und einer Taktfrequenz von knapp 2 GHz. Diese CPU bringt die Platine in die Liga des Raspberry 4, erreicht dessen Leistung aber nicht ganz (siehe Kasten „Mini-Benchmark“ auf der letzten Seite). Für den festverbauten LPDDR4-Arbeitsspeicher gibt es zwei Varianten der Platine mit vier oder acht GB RAM. Der Preisunterschied beträgt gut 20 Euro. Nach unserer Marktbeobachtung wurde die 8-GB-Variante am schnellsten ausverkauft und fordert derzeit auch die längeren Wartezeiten auf die nächsten Margen. Im Prinzip sollten für typische Serverrollen im Heimnetz aber auch vier GB RAM völlig ausreichen.

Für den Netzwerkanschluss ist ein Gigabit-Ethernet-Port vorhanden und zur Monitorausgabe ein HDMI-Anschluss. Für die sehr ordentliche bis gute Soundausgabe kann neben HDMI auch ein 3,5-Millimeter-Klinkenstecker dienen. Für Bastler und Industrieeinsatz kommt ferner noch ein DSI-Anschluss für einen kleinen LCD-Bildschirm hinzu. Ebenfalls für Bastlerprojekte kann eine Kamera über CSI angeschlossen werden. Auch die vom Raspberry bekannte 40-Pin-GPIO-Leiste ist verbaut.

Interessant für den Servereinsatz wird es bei den Anschlüssen für Datenträger: USB darf nicht fehlen und ist im Prinzip fünfmal vertreten – zweimal USB 3.0, zweimal USB 2.0 sowie ein Micro-USB-Anschluss (OTG). Der untere der beiden USB-3.0-Ports wird allerdings deaktiviert, falls der kleine OTG-Anschluss genutzt wird. Das ist kein großes Limit, aber man sollte dieses Detail nicht vergessen. Für an USB 3.0 angeschlossene Laufwerke gilt wie bei allen ähnlichen Platinen die Empfehlung, besser Datenträger mit eigener Stromversorgung anzuschließen. Zwei 2,5-Zoll-Laufwerke an USB und eventuell noch ein zusätzliches Sata-Laufwerk kann das Netzteil der Platine nicht stabil versorgen.

Das optionale Sata-Laufwerk versorgen die zwei Standardanschlüsse für das Daten- und das Stromkabel. Letzterer ist ein 5-Volt-Anschluss für 2,5-Zoll-HDDs oder SSDs. Eine große 3,5-Platte mit 12-Volt-Anschluss kann die Platine folglich nicht versorgen, diese müsste dann also mit externem Netzteil betrieben werden. Das von Hardkernel angebotene Sata-Montage-Set für circa 13 Euro umfasst nur die beiden Standardkabel und einen Hartplastik-„HDD-Holder“, um die Sata-Platte mit der Platine zu verschrauben. Das Zubehör ist verzichtbar, sofern Standardkabel vorliegen und der Datenträger nicht befestigt werden muss.

Für das Betriebssystem (oder Daten) gibt es neben dem üblichen Slot für eine Micro-SD-Karte und dem Sata-Laufwerk noch weitere Optionen: Es ist ein eMMC-Slot vorhanden (Embedded Multimedia Card) sowie ein Anschluss für ein SSD-Laufwerk vom Typ NVMe M.2. Letzteres muss eine PCIe-NVMe sein, eine NVMe mit Sata-Controller funktioniert dort nicht.

Odroid M1 mit NVMe-SSD im M.2-Slot: Es muss sich um eine PCIe-SSD handeln (Stichwort „M-Key“ oder „Key M“). Ebenfalls im M.2-Faktor erhältliche Sata-Laufwerke funktionieren nicht.
Odroid M1 mit montierter SSD: Das Montage-Set für etwa 13 Euro ist unter Umständen entbehrlich, wenn Sata-Standardkabel vorrätig sind. Das Standardgehäuse ist bei einem Sata-Einbau in jedem Fall überflüssig, weil es dafür keinen Platz bietet.

Wichtige Infos zur Systeminstallation

Auf https://wiki.odroid.com/odroid-m1/odroid-m1 gibt es bislang nur einige wenige Systemimages zum Download (siehe dort „os_images“), die dann mit einschlägigen Tools wie Etcher oder Gnome-Disks auf SD-Karte zu übertragen sind. Zum Redaktionsschluss war die Auswahl verfügbarer System noch sehr bescheiden und überdies unglücklich gewählt: Wer – naheliegend – die Hardware für Serveraufgaben nutzen will, wird nicht unbedingt zu Android 11 greifen. Ansonsten gibt es ein Ubuntu 20.04 ausgerechnet mit der anspruchsvollen Gnome-Oberfläche, die für die Hardware nicht angemessen erscheint. Zum Zeitpunkt des Produkttests erschien uns daher als einzig passende Wahl ein purer Ubuntu Server 20.04, auf den wir anschließend ein sparsames XFCE nachinstallierten. Die Zugangsdaten für fertige Odroid-Images lauten seit jeher „odroid“ mit Kennwort „odroid“.

Klassische Images auf https://wiki.odroid.com: Dieser Weg eignet sich nur für den Transport auf SD-Karte. Eine Installation auf Sata oder NVMe muss über das Minisystem Petitboot erfolgen.

Diese traditionelle Systembestückung für Platinenrechner ist aber auf SD-Karten (eventuell noch eMMC) beschränkt. Wer das System auf Sata oder NVMe installieren will, muss einen anderen Weg einschlagen. Und dieser Weg erweist sich insgesamt als der klügere, weil er ein sauberes System ohne „odroid“-Konto, eine größere Systemauswahl, eine individuelle Desktop-Auswahl und vor allem die freie Wahl des Systemdatenträgers eröffnet.

Beim Start der Platine (mit oder ohne installiertes Betriebssystem) meldet sich das integrierte Minimalsystem Petitboot, das einige wesentliche Systeminfos anzeigt und ferner eine Multiboot-Auswahl des Betriebssystems erlaubt (falls etwa auf SD, Sata und NVMe verschiedene Systeme bereitstehen). Entscheidender ist aber die Fähigkeit von Petitboot, Betriebssysteme über das Internet zu laden und zu installieren. Diese Fähigkeit wird bei Hardkernel- oder Vertreiber-Dokumentationen lapidar vorausgesetzt, ist aber bislang nirgendwo prominent dokumentiert.

Um die im Netz verfügbaren Systeme aufzulisten, müssen Sie in Petitboot zunächst die unterste Option „Exit to shell“ wählen und dann die folgenden zwei Befehle eingeben:

udhcpc
netboot_default

Der erste stellt die Verbindung zum Netzwerk sicher, der zweite setzt die Bootpriorität auf die Netzwerkinstallation. Nach „exit“ und Verlassen der Mini-Shell zeigt das Petitboot-Menü oben die verfügbaren Betriebssysteme. Dies sind mehr als die Downloadseite als traditionelle Images anbietet, allerdings ist von Kandidaten mit dem Hinweis „Work in Progress“ oder „Experimental“ eher abzuraten, da dies in unserem Fall prompt in einem fatalen Boothänger nach dem ersten Systemstart endete. Zum Zeitpunkt dieser Recherche waren nur Ubuntu 20.04 und Debian 10 als stabile Kandidaten erreichbar. Mindestens Ubuntu 22.04 und Debian 11 werden umgehend folgen.

Die weiteren Vorteile dieser Installationsweise sind offensichtlich: In den bekannten, textbasierten Installern von Ubuntu und Debian sorgen Sie vorab für eine saubere Lokalisierung des Systems, für ein individuelles Systemkonto und entscheiden gegen Ende der Installation im Tasksel-Dialog über Desktop und gewünschte Serverdienste (SSH, Apache). Für den Systemdatenträger gibt es beim Partitionierungsdialog kein Verbot – SD-Karte, NVMe-, Sata-, eMMC- oder auch USB-Laufwerke sind möglich.

Besser und flexibler als ein Image-Download: Im integrierten Odroid-Minimalsystem können Sie die Netboot-Option freischalten und dann das gewünschte System aus dem Internet beziehen.
Mit Petitboot gestarteter Netinstaller (hier Debian): Damit bringen Sie das Betriebssystem auf jedes beliebige Laufwerk, das an der Odroid-Platine angeschlossen ist.

Odroid M1: Praxis, Tipps und Einordnung

Die Platine arbeitet lüfterlos und somit absolut lautlos. Ähnlich dem Odroid N2 sitzt die gesamte Hardware auf einem großen passiven Kühlkörper, und nach Ausweis des Sensor-Tools des von uns genutzten XFCE-Desktops erreicht die Platine selbst bei Last kaum 40 Grad. Dies bestätigen auch eine haptische Kontrolle sowie der sehr niedrige Stromverbrauch: Wir messen etwa zwei Watt im Leerlauf und bringen den Odroid M1 selbst unter hoher Last nicht über 3,5 Watt Leistungsaufnahme – eventuelle mechanische Laufwerke oder Displays sind hier natürlich nicht eingerechnet.

Tipp zur Desktop-Wahl: Sofern man dem allzu anspruchsvollen Desktop Gnome aus dem Weg geht, arbeitet der Mini-Rechner mit einem XFCE, LXDE oder LXQT jederzeit auch mit grafischer Oberfläche flüssig. Selbst für einen Odroid M1 in reiner Serverrolle empfehlen wir die Installation eines Desktops, der dann per HDMI oder VNC neben der SSH-Fernwartung auch eine bequeme Oberfläche anbietet. Bei vier oder sogar acht GB RAM fällt der meist ungenutzte Desktop kaum ins Gewicht.

Tipp für Datenfreigaben: Mechanische Sata-HDDs, auch wenn sie ausschließlich als Datenfreigabe dienen, sollten unbedingt mit dem Standarddateisystem Ext4 formatiert werden. Das von Hardkernel früh angebotene Ubuntu 20.04 hat einen relativ betagten Kernel mit mäßiger NTFS-Unterstützung. Der Datendurchsatz kommt damit kaum über 30 bis 40 MB/s und liegt damit sogar unter den etwa 80 MB/s, die per USB angeschlossene Datenträger erreichen. Es wäre daher kontraproduktiv, die M1-Platine wegen der Sata-Schnittstelle zu erwerben und dann mit NTFS auszubremsen. SSDs am Sata-Port sind hingegen mit jedem beliebigen Dateisystem schnell genug, um im Gigabit-Netzwerk die Daten mit den maximalen 110 bis 120 MB/s auszuliefern.

Tipp zum Zubehör: Für den Odroid M1 gibt es ein hübsches, blaues Aluminiumgehäuse, das als Staubschutz prinzipiell zu empfehlen wäre. Es wird einfach auf die passende Rille des großen Kühlkörpers aufgeschoben und dann auf beiden Seiten mit Endabdeckungen verschraubt. Ganz zu Ende gedacht ist das nicht, weil sich das Gehäuse mit dem interessantesten Hardware-Angebot der Platine nicht verträgt: Ein Sata-Laufwerk bringen Sie nämlich nicht unter, wenn Sie das Gehäuse nutzen. Es ist nicht einmal möglich, die Sata-Kabel nach außen zu legen und das Laufwerk außerhalb zu nutzen, denn allein schon die eingesteckten Sata-Kabel machen es unmöglich, das Gehäuse auf die Platine zu schieben. Kurz: Wer vorhat, am Odroid M1 ein Sata-Laufwerk anzuschließen, kann sich den Kauf des Gehäuses von vornherein sparen.

Einordnung: Im Umfeld des Raspberry Pi 4 und den weiteren aktuellen Odroid-Platinen wird das Modell Odroid M1 aufgrund seiner Flexibilität mühelos seinen Platz finden. Daran lässt sich praktisch alles anschließen und einbauen, was man in der Schublade liegen hat. Da wird dann die kleine SSD, die für den Desktoprechner längst unterdimensioniert war, zum idealen Systemdatenträger. Als Datenserver garantiert die Platine jederzeit volle Gigabit-Leistung (120 MB/s), wenn die Daten auf einem Sata-Laufwerk liegen. Laufwerke an USB 3.0 liefern die Daten nicht schneller, aber auch nicht langsamer aus als beim Raspberry Pi 4 – also je nach Datengrößen mit 60 bis 90 MB/s.

Mini-Benchmark mit Raspberry und Odroid

Ein kleiner Vergleich mit der simplen arithmetischen Iteration

time $(i=0; while (( i < 9999999 )); do (( i ++ )); done)

auf etlichen Geräten ordnet die CPU-Leistung des neuen Odroid M1 ganz gut ein. Diese primitive Methode haben wir gewählt, weil auf den diversen Geräten mit diversen Betriebssystemen eine andere einheitliche Methode zu viel Aufwand erfordert hätte. Über die Aussagekraft des simplen Benchmarks lässt sich streiten, aber die Rangfolge deckt sich mit unserer praktischen Alltagserfahrung mit diesen Geräten. Der Raspberry Pi 4 liegt vor der neuen Odroid-Platine, deutlicher noch der Odroid N2 und der nicht mehr erhältliche Odroid H2. Der Fokus des neuen Raspberry-Konkurrenten Odroid M1 liegt eindeutig beim Angebot der Datenträgeranschlüsse, nicht bei der CPU-Leistung.

Fritzbox per Kommandozeile

Wie lautet gleich wieder das Kennwort für das Gast-WLAN? Wie ist die öffentliche IP-Adresse? Router wie die Fritzbox verwalten so viele Infos, geben sie aber nur her, wenn man sich durch die Konfigurationsoberfläche klickt. Oder?

Gut Informierte wissen wahrscheinlich, dass sich die Fritzbox-Konfiguration durch PHP-Scripts auslesen und in vielen Belangen sogar steuern lässt. Theoretisch genügen dafür relativ komplizierte Befehle der Download- und Upload-Tools wget und curl. Komfortabler ist das Paket miniupnpc mit seinem Programm upnpc – dies allerdings mit eng begrenzter Reichweite. Das umfangreichste PHP-Projekt zur Fritzbox-Steuerung ist die Sammlung fb_tools (Fritzbox-Tools) von Michael Engelke. Was man damit alles anstellen kann, zeigt dieser Beitrag.

Fritzbox-Abfragen: Der Einblick in das Systemprotokoll und die Traffic-Statistik („Online-Zähler“) gehört zu einfacheren Kommandos der Fritzbox-Tools.

Definition und Umfang

Die Fritzbox-Tools sind eine umfangreiche Sammlung von PHP-Scripts, die über Terminalbefehle ausgelöst werden. Je nach Befehl kann man Informationen aus der Fritzbox auslesen, Konfigurationsbackups anlegen und wieder zurückschreiben und viele Einzelfunktionen von außen starten, so etwa Smarthome-Aktoren von AVM oder die LED-Anzeige der Fritzbox.

Um Missverständnissen vorzubeugen: Die Fritzbox-Tools können – mit einigen wenigen Ausnahmen – nicht mehr als das, was ein zutrittsberechtigter Fritzbox-Nutzer im Normalfall auf der Konfigurationsoberfläche erledigt. Ihre Reichweite ist sogar begrenzter als die Fritzbox-Oberfläche, weil AVM nicht alle Funktionen für PHP-Scripting offenlegt (so offenbar der gesamte Bereich WLAN/Funknetz). Der entscheidende Vorteil der Fritzbox-Tools ist es, dass Informationen wie die öffentliche IP-Adresse, die aktuelle Anrufliste oder der Online-Zähler mit einem vorbereiteten Terminalbefehl in zwei Sekunden ausgelesen sind. Und mehr noch: Als Terminalbefehl lassen sich solche Aktionen auch automatisch erledigen, etwa als Cronjob oder Autostart auf einem beliebigen Linuxsystem im Netzwerk.

Einfache Installation auf Debian/Ubuntu

Die Fritzbox-Tools laufen im Prinzip auf jedem Betriebssystem. Weil aber PHP installiert sein muss, ist die Einrichtung auf Linux am einfachsten. Auf jedem Update-gepflegten Linux wird eine PHP-Version 7.x für die Konsole („cli“) nämlich bereits vorliegen. Außerdem gibt es mindestens eine interessante Funktion der Tools, die Open SSL benötigt – und auch dies ist Standard unter Linux. Für Debian/Ubuntu-basierte Distributionen genügt daher der Download des winzigen DEB-Pakets „fb-tools.deb“ von www.mengelke.de/Projekte/FritzBox-Tools (nur 90 KB) und die Installation per Doppelklick oder im Terminal:

sudo dpkg -i fb-tools.deb

Für Linux-affine Windows-Nutzer ist genau derselbe Weg zu empfehlen, sofern sie ein Debian oder Ubuntu im „Windows Subsystem für Linux“ (WSL) verwenden. Dies ist wesentlich einfacher, als der Anleitung für die Installation unter Windows zu folgen.

Erste Umschau: Auf den typischen Hilfeschalter „-h“

fb_tools -h

meldet die Toolsammlung die verfügbaren Hauptbefehle (Modes). Einige dieser Befehle besitzen wieder diverse Unterbefehle (Funktionen), wovon Sie sich mit

fb_tools konfig -h
fb_tools smarthome -h

überzeugen können. Es gibt nun einige einfache Modes (ohne Unterbefehle), die ohne jede Benutzer-Authentifizierung sofort Antworten liefern:

fb_tools boxinfo
fb_tools systemstatus

Damit erhalten Sie die Basisdaten über Modell, Hardwarerevision, Provider, Laufzeit, Neustarts. Ebenfalls selbsterklärend ist die Abfrage der öffentlichen IP-Adresse:

fb_tools getip

Bei anderen Modes wie „traffic, anrufliste, led, konfig, smarthome“ werden Sie hingegen keinen Erfolg haben. Das Tool meldet dann „Anmeldung fehlgeschlagen, SID.lua ist ungültig“. Das bedeutet, dass Sie sich für diese Modes und Funktionen an der Fritzbox anmelden müssen.

Anmeldung und Fritzbox-Einstellung

Alle wirklich interessanten Funktionen setzen eine Anmeldung voraus. Die verläuft aber denkbar einfach innerhalb des Kommandos:

fb_tools Geh3im@fritz.box anrufliste

Dies genügt, falls der Router nur durch ein allgemeines Passwort geschützt ist. Wenn Sie in der Fritzbox Benutzerkonten angelegt haben, benötigen Sie folgende Syntax

fb_tools sepp:Geh3im@fritz.box anrufliste

mit der Abfolge „[Konto:Kennwort@Gerät]“. Und noch ein akademisches Detail: Wer sich in mehreren Netzen befindet, muss den angesprochenen Router statt mit „fritz.box“ genau adressieren (was aber auch sonst nie schadet):

fb_tools sepp:Geh3im@192.168.178.1 anrufliste

Mit dieser Syntax und somit korrekter Anmeldung sind aber auf jüngeren Fritzboxen immer noch nicht sämtliche Funktionen realisierbar. Die Lösung dafür liegt in der Fritzbox-Konfiguration unter „System → Fritz!Box-Benutzer → Zusätzliche Bestätigung → Ausführung bestimmter Einstellungen und Funktionen zusätzlich bestätigen”. Die Option ist standardmäßig aktiviert und verhindert einige Kommandos der Fritzbox-Tools. Es ist Ermessensfrage, ob man dies dauerhaft abschalten will. Zumindest vorübergehend ist das nötig, um einen der interessantesten Befehle abzusetzen:

fb_tools sepp:Geh3im@192.168.178.1 konfig export-decrypt

Dieses Kommando liest im Klartext sämtliche Verbindungsdaten aus, unter anderem Provider-Zugangsdaten, WLAN-Passwörter, Telefonie-Passwörter, Internet- und MyFritz-Onlinezugangsdaten. Diese Daten sind in dieser Form und Vollständigkeit weder über die Fritzbox-Oberfläche noch in der (verschlüsselten) Konfigurationssicherung erreichbar.

Weitere Beispiele

Mit dem Mode „konfig“ können Sie interaktiv oder automatisiert Konfgurationssicherungen des Routers ausführen:

fb_tools sepp:Geh3im@192.168.178.1 konfig export fritz.export

Mit „konfig import“ lässt sich eine Sicherung später wieder zurückspeichern.

Der einfache Mode „traffic“ hat keine Unterfunktionen und spuckt nach

fb_tools […] traffic

die Zusammenfassung aus, die in der Konfigurationsoberfläche unter „Internet -> Online-Monitor -> Online-Zähler“ zu finden ist. Der Mode „Ereignisse“ bietet das Systemprotokoll („System -> Ereignisse“) und hat dabei genau dieselben optionalen Filter wie die Oberfläche:

fb_tools […]ereignisse filter:system

Einfache, aber mindestens im zweiten Fall interessante Aktionen lösen folgende Kommandos aus:

fb_tools […] led off
fb_tools […] reconnect

Die LED-Leuchten lassen mit „on“ jederzeit wieder aktivieren. „reconnect“ darf als weiteres Highlight der Toolsammlung gelten, weil die Fritzbox-Oberfläche zur Neuverbindung nur den kompletten und zeitaufwändigen Gerätestart vorsieht – obendrein verbuddelt unter „System -> Sicherung -> Neustart“. Dass „reconnect“ die Fritzbox tatsächlich in Sekunden neu verbindet, können Sie dem Systemprotokoll entnehmen („System -> Ereignisse“ oder das entsprechende Kommando der fb_tools).

Besonders ergiebig ist der Mode „SmartHome“, der mit

fb_tools sepp:Geh3im@192.168.178.1 smarthome list

alle Smarthome-Komponenten („Aktoren“) mit AIN-Kennziffer anzeigt (AIN=Aktor Identifikationsnummer). Einschränkend ist zu bemerken, dass solche Steuerung eine homogene und ausschließliche Nutzung von AVM-Produkten voraussetzt. Da der Verfasser solche Funksteckdosen und Sensoren nicht nutzt, vertrauen wir an dieser Stelle auf Aussagen des Tool-Entwicklers und von Kommentaren im Web.

Auf Basis der mit „smarthome list“ ermittelten Gerätekennungen, lässt sich die betreffende Hardware dann detailliert steuern: Ein AVM-Thermostat mit der AIN „18“ kann dann etwa mit folgendem Befehl

fb_tools […] smarthome set 18 20

auf exakt 20 Grad gesetzt werden oder mit

fb_tools […] smarthome set 18 spar

auf eine in der Fritzbox („Smart Home -> Geräteverwaltung“) hinterlegte Spartemperatur.

Locate: Dateisuche

Schnelle Terminal-Dateisuche ist auf Servern unerlässlich, aber auch auf dem Desktop willkommen. Tool der Wahl ist aufgrund seiner Geschwindigkeit locate, das auf Ubuntu-Systemen mit

sudo apt install mlocate

schnell nachgerüstet ist. Das Paket enthält neben diesem Suchkommando locate auch das Indexierungstool updatedb. Damit die Dateiliste aktuell bleibt, muss je nach Rechnernutzung täglich oder auch häufiger der Befehl

sudo updatedb

ausgeführt werden. Das ist wieder ein Fall für einen Cronjob des root-Kontos (crontab -e):

0    10    *    *     *     /usr/bin/updatedb

locate sucht nur nach Dateinamen, aber ein Befehl wie

locate -A -i steuer 2020

liefert sofort alle passenden Dateien mit komplettem Pfad – auch bei sehr großen Datenbeständen. Die lästige Eingabe der fast immer notwendigen Parameter „-A“ (alle Wörter müssen im Dateinamen vorkommen) und „-i“ (Groß/Kleinschreibung ignorieren) können Sie sich mit einem Alias

alias loc='locate -A -i'

in der Datei ~/.bashrc ersparen.

Standardmäßig berücksichtigt locate keine USB-Laufwerke. Um dies zu ändern, muss in der Konfigurationsdatei „/etc/updatedb.conf“ nach „PRUNEFS=…“ (ausgeschlossene Dateisysteme) der Eintrag „usbfs“ gelöscht werden, und bei dieser Gelegenheit bei Bedarf noch weitere Eintäge dieser Zeile.

Locate-Statistik: Einige hunderttausend Dateien sind für das indexbasierte Tool keine beschwerliche Aufgabe. Die Ergebnisse einer locate-Namenssuche erscheinen sofort.

Cubic: Ubuntu live

Cubic (Custom Ubuntu ISO Creator) ist ein grafisches Frontend für die Linux-Fähigkeiten, in gemountete ISO-Images mit einer Chroot-Umgebung neue Dateien einzubauen und danach ein geändertes ISO zu schreiben. Der Schritt-für-Schritt-Assistent ist vorbildlich übersichtlich, erweitert die Standard-Live-Medien von Ubuntu & Co mühelos um Software und Benutzerdateien und baut optimierte Livesysteme. Detailliertere Anpassungen sind möglich, setzen aber auch mit Cubic gute Kenntnis der Verzeichnishierarchie des Livesystems voraus.

Wie auf der Porjektseite https://launchpad.net/cubic beschreiben, installieren Sie das Tool mit folgenden Terminalbefehlen:

sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install cubic

Nach dem Start geben Sie erst ein (beliebiges) „Project Directory“ an, wo Cubic das Livesystem zusammenbauen soll. Nach „Next“ und „Select“ wählen Sie zunächst das ISO-Image des originalen Livesystems. Weitere Änderungen sind in diesem Dialog nicht nötig und nach „Next“ wird das Dateisystem des ISO-Abbilds temporär ausgepackt.

Nach weiterem „Next“ wird es spannend: In chroot-Konsole können Sie jetzt alle Anpassungen erledigen. Mit apt install […] rüsten Sie alles nach, was dem originalen Livesystem nach Ihrer Meinung fehlt. Benutzer- und Konfigurationsdateien können Sie einfach per Drag & Drop vom laufenden System in die chroot-Konsole von Cubic ziehen und dann mit der „Copy“-Schaltfläche in das Livesystem integrieren. Beachten Sie dabei, vorher mit cd in der chroot-Konsole in das gewünschte Verzeichnis zu wechseln – genau dort werden die Dateien später vorliegen. Sie können auch mit mkdir Ordner erstellen, um das Livesystem zu optimieren. Im konkreten Beispiel des von uns gewählten Lubuntu lautet das Live-Konto „lubuntu“, jedoch existiert kein Home-Ordner für dieses Konto. Wenn Sie dieses mit

mkdir /home/lubuntu

anlegen, können Sie es mit weiteren Ordner bestücken (etwa „Desktop“, „Bilder“) und diese wiederum mit Benutzerdateien sowie Konfigurationsdateien füllen (.bashrc. etc), aber auch mit einer kompletten Thunderbird-Konfiguration. Um Ordner und Dateien richtig anzulegen, sollten Sie die Ordnerstruktur des originalen Livesystems gut kennen oder parallel vor sich haben. Mit „Next“ verlassen Sie die chroot-Konsole, mit weiterem „Next“ die Paketübersicht. Danach wird das angepasste System zusammengebaut. Das fertige ISO können Sie mit den üblichen Werkzeugen auf DVD brennen oder auf USB schreiben.

Trotz Beschränkung auf Ubuntu & Co ist Cubic aktuell das wohl komfortabelste Tool, um Livesysteme individuell aufzubessern. Das im nächsten Punkt beschriebene Systemback ist im Prinzip noch flexibler, wird aber nicht mehr aktualisiert und hat technische Hürden.

Cubic – der erste und der letzte Schritt: Das Tool schreibt angepasste Ubuntu-Livesysteme mit einem sehr übersichtlichen Schritt-für-Schritt-Assistenten.

Partitionen sichern und klonen

Die Livesysteme Clonezilla und Rescuezilla sichern Linux- oder Windows-Datenträger in komprimierte Abbilder und schreiben diese bei Bedarf wieder zurück. Dieser Ratgeber erklärt, wie Sie diese Werkzeuge nutzen und wo sich diese Aktion anbietet.

Rescuezilla und Clonezilla erledigen das Backup und Restore kompletter Datenträger oder ausgewählter Partitionen. Technische Basis ist bei beiden Tools das Kommandozeilenwerkzeug Partclone. Um die Verhältnisse vereinfacht zu skizzieren: Partclone ist ein Hardcore-Werkzeug, das sich allenfalls Profis für automatisierte Datenträgersicherungen zumuten. Auf der komfortablen Gegenseite steht das klickfreundliche Rescuezilla, das auch Einsteiger mit wenigen Schaltflächen übersichtlich durch die anspruchsvolle Aktion führt. Etwa in der Mitte steht das textbasierte Clonezilla, das – besser mit Cursortasten, Tabulator, Eingabe- und Leertaste statt mit Maus – etwas antiquiert zu bedienen ist, aber andererseits funktional unübertroffen bleibt.

Clonezilla wie das seit Ende 2020 voll kompatible Rescuezilla beherrschen neben verbreiteten Linux-Dateisystemen (Ext2, Ext3, Ext4, BTRFS, XFS, JFS, F2FS, Reiser FS, Reiser4) auch Windows- und Apple-Partitionen wie FAT, exFAT, NTFS und HFS+). Die Images können auf lokalen (USB-) Datenträgern und auf Netzwerkfreigaben gespeichert werden. Im Netz beherrscht Clonezilla alle Protokolle (Samba, SSH, NFS, Webdav), während Rescuezilla sich auf Windows/Samba-Freigaben beschränkt. Weitere Vorzüge von Clonezilla sind das direkte Klonen von Datenträger zu Datenträger, ferner die optionale Verschlüsselung der Imagesicherungen.

Clonezilla ist ohne Zweifel der Maßstab, Rescuezilla bleibt funktional auf eine Untermenge reduziert. Rescuezilla erfüllt aber die Ansprüche typischer Endanwender vollumfänglich, zumal einer Sicherung ins Netzwerk schon aus Geschwindigkeitsgründen meist lokales USB vorgezogen wird.

Rescuezilla
Rescuezilla bei der Auswahl des Quelle: Für ein Low-Level-Werkzeug bietet das Livesystem maximalen Komfort. Über Quelle und Ziel muss dennoch zweifelsfreie Klarheit bestehen.

Warum sichern oder klonen?

Für das Sichern von Partitionen oder ganzen Festplatten gibt es mindestens drei starke Motive:

Systemsicherheit: Trotz Reparaturmechanismen von Linux- und Windows-Systemen sind manche Havarien gar nicht mehr zu beheben oder nur mit unzumutbaren Rechercheaufwand inklusiver stundenlanger Fehlversuche. Eine nicht allzu altes Plattenimage bietet Systemsicherheit auch in aussichtlosen Situationen und verkürzt Reparaturen auf eine einzige zuverlässige Aktion.

Systemumzug: Wenn der Platz des Systemdatenträgers nicht mehr ausreicht, kann das komplette bisherige System auf einen größeren Datenträger geschrieben werden.

Systemexperimente: Betriebssystembastler und Sicherheitsexperten benötigen oft einen genau definierten Systemzustand etwa vor einer Treiber- oder Software-Installation oder vor einer experimentellen (Un-) Sicherheitsaktion.

Image-Sicherung versus Klonen

Sichern und Klonen sind zwei technisch klar unterschiedene Aktionen, wenngleich zweiteres im Prinzip nur eine Abkürzung bedeutet:

Image-Sicherungen erstellen große komprimierte Dateien wahlweise eines kompletten Laufwerks oder eines Laufwerks mit mehreren Partitionen oder nur einer bestimmten Partition eines Laufwerks. Sie können diese Dateien später zurückschreiben, um eine System-Havarie zu beheben oder um das System auf einen früheren und besseren Zustand zurückzusetzen. Da die Image-Dateien groß sind, sollten sie auf schnellen externen Laufwerken oder im Gigabit-Netz gespeichert werden. Images sind eine präventive Sicherheitsmaßnahme für den Fall einer späteren Hardware- oder System-Havarie. Trotz der unvermeidlichen Größe arbeiten Clonezilla und Rescuezilla platzsparend, indem sie freien Platz von Datenträgern nicht sektorweise mitsichern: Eine zur Hälfte belegte 240-GB-SSD wird also nur 120 GB Sicherungsplatz erfordern, und nicht einmal dies, weil zusätzlich gzip-Komprimierung zum Einsatz kommt.

Klonen bedeutet eine exakte Datenkopie eines Laufwerks direkt auf ein zweites Laufwerk. Daher wird man Klonen nicht primär als Sicherheitsmaßnahme einsetzen, da es stets einen zweiten – identischen oder größeren – Datenträger erfordert, der dann eventuell über Monate unbenutzt bleibt. Klonen ist vielmehr die einschlägige Maßnahme, um den bisherigen Datenträger durch einen neuen (meist größeren) zu ersetzen. Direktes Klonen funktioniert nur mit Clonezilla. Wer mit Rescuezilla klonen will, benötigt zwei Schritte – erst das „Backup“ des Datenträgers als Image und danach dessen „Wiederherstellung“ auf den anderen Datenträger.

Benutzerdateien und Vorbereitungen: Für die Sicherung von Benutzerdaten brauchen Sie kein externes Livesystem – dafür gibt es einfachere Methoden im jeweiligen Betriebssystem. Einschlägig sind Rsync und Tar unter Linux, Robocopy oder Xcopy unter Windows (sowie diverse grafische Frontends oder Alternativen). Angesichts dieser Tatsache wäre es für schnelle Imagesicherungen optimal, Benutzerdateien weitgehend fernzuhalten. Bei unseren Image-Aktionen hielt eine kleine SSD mit einem relativ frischen System und ohne nennenswerte Benutzerdaten den Rekord: Es war in drei Minuten auf USB gesichert und später in vier Minuten wiederhergestellt. Für ein Notebooksystem mit etwa 50 GB Benutzerdateien fiel bereits die zehnfache Sicherungs- und Wiederherstellungsdauer an. Da es bei der Imagesicherung um Boot- und Systemsicherheit geht, wäre eine strikte Trennung der Benutzerdaten optimal – etwa in einer expliziten Home-Partition, die nicht mitgesichert wird. Das wird sich nicht überall ideal realisieren lassen, aber wer notgedrungen ganze Film- und Musikarchive in die Imagesicherungen einbezieht, muss Geduld mitbringen.

Der Umfang einer Sicherung lässt sich aber in jedem Fall reduzieren. Unter Linux entfernen Sie unnötige Programmpakete und räumen den Paket-Cache auf:

sudo apt autoremove
sudo apt autoclean

Ein Tool wie Bleachbit kann weitere überflüssige Datenlasten entsorgen.

Unter Windows verwenden Sie die Datenträgerbereinigung mit der Option „Systemdateien bereinigen“, um temporäre Dateien, Update-Sicherungen oder gar den eventuell noch vorhandenen Ordner „Windows.old“ zu löschen (mit Vorversion). Beachten Sie unbedingt, Windows vor einer Imagesicherung über „Neu starten“ zu beenden, denn nach normalem „Herunterfahren“ erhalten Clonezilla oder Rescuezilla keinen Schreibzugriff.

Rescuezilla
Rescuezilla kann nur Samba/Windows-Freigaben, das dürfte aber den meisten Nutzern völlig ausreichen. Häufigstes Sicherungsziel sind vermutlich USB-Laufwerke.

Das einfache Rescuezilla

Rescuezilla ist der Nachfolger des eingestellten Redo Backup. Der circa 850 MB umfassende Download des ISO-Abbilds von https://rescuezilla.com/ kann mit den üblichen Mitteln (dd, Gnome-Disks, Etcher, Win 32 Diskimager) bootfähig auf USB-Stick kopiert werden. Es handelt sich um ein komplettes Ubuntu-Livesystem, das eine Basisausstattung einschlägiger Werkzeuge mitbringt wie Browser, Gparted, Gnome-Disks. Nach „apt update“ ist auch das Nachinstallieren zusätzlicher Programme möglich, allerdings nur temporär während der Laufzeit.

Im Zentrum steht das Tool Rescuezilla, das gemeinsam mit dem Desktop automatisch startet und die Image-Sicherung und Wiederherstellung mit wenigen Schaltflächen einfach macht. Im Prinzip gibt es nur „Backup“ und „Wiederherstellung“, die wir nachfolgend genauer beschreiben.

Exkurs zur dritten Option: Eine dritte Schaltfläche „Image Explorer“ ist neu und noch als „Beta“ charakterisiert. Ihre Funktion ist es, den Inhalt vorhandener Sicherungsabbilder in den Dateimanager zu mounten. Dies wäre eine signifikante Funktionserweiterung, weil sich dann gezielt einzelne Dateiobjekte aus einer Sicherung holen ließen, ohne das gesamte Image zurückschreiben zu müssen. Da Rescuezilla (und Clonezilla) die Abbilder aber gzip-komprimieren, ist die Wartezeit für die Dekomprimierung größerer Images aktuell kaum zumutbar. In unserem Test benötigte das Mounten einer kleinen SSD-Sicherung (60 GB) etwa 10 Minuten, das Anzeigen des Inhalts im Dateimanager unter „/mnt/rescuezilla.image.explorer“ sogar nochmal deutlich länger. Auch das anschließende Navigieren im Dateisystem des Abbilds ist unzumutbar zäh. Rescuezilla warnt daher bei dieser Funktion mit gutem Grund vor erheblichen Wartezeiten und kündigt für künftige Versionen ein anderes Kompressionsformat an, das schnellere Ergebnisse verspricht. Derzeit lohnt sich der „Image Explorer“ allenfalls dann, wenn Sie ganz genau wissen, welche Einzeldateien Sie aus dem Image zurücksichern müssen.

Das Backup: Im automatisch gestarteten Haupttool „Rescuezilla“ lädt die Schaltfläche „Backup“ den Assistenten zum Schreiben eines neuen Abbilds:

„Schritt 1“ ist die Auswahl des physikalischen Quell-Datenträgers, dessen Partitionen gesichert werden sollen. „Schritt 2“ ermöglicht erlaubt die Auswahl der gewünschten Partitionen auf diesem Datenträger. Wenn Sie nicht genau wissen, dass eine bestimmte Partition keine Sicherung braucht, dann übernehmen Sie hier alle angezeigten Partitionen, wie es der Standard vorgibt. Andernfalls besteht die Gefahr, dass Sie eine wichtige Bootpartition unterschlagen und damit später ein nicht bootfähiges System zurückschreiben.

In „Schritt 3“ markieren Sie das Backupziel. Dabei zeigt die Standardoption „Direkt an meinen Computer angeschlossen“ die internen Laufwerke sowie USB-Medien. Falls das Image auf einer Samba-Freigabe landen soll, aktivieren Sie oben die Option „Über das Netzwerk verbunden“. In diesem Fall geben Sie den „Server oder Freigabeort“ in dieser Form (also ohne Protokollangabe „smb“ oder ähnlich)

//[IP]/[Zielverzeichnis]

ein, also etwa „//192.168.178.20/Data/“. Falls Zugangsdaten erforderlich sind, lassen sich diese in den weiteren Zeilen ergänzen (Samba-Kontoname, Samba-Kennwort).

„Schritt 4“ sollten Sie bei der Vorgabe belassen. Es handelt sich um das Mount-Verzeichnis im Livesystem, wohin das eigentliche Backupziel gemountet wird. In „Schritt 5“ sollten Sie eventuell tätig werden, weil ein aussagekräftiger Sicherungsname die spätere Orientierung erleichtert. „Schritt 6“ zeigt eine Übersicht für die Aktion und nach „Weiter“ erfolgt in „Schritt 7“ die eigentliche Aktion.

Die Wiederherstellung: Die Schaltfläche „Wiederherstellen“ startet den Assistenten, der mit „Schritt 1“ zunächst das Laufwerk abfrägt, wo sich die Sicherung befindet. Wird das Laufwerk korrekt gewählt, zeigt „Schritt 2“ die vorhandene(n) Imagesicherung(en). Mit der passsenden Auswahl und „Weiter“ geht es in „Schritt 3“ zum Zieldatenträger. Hier dürfen keine Zweifel bestehen, weil dieses Laufwerk komplett überschrieben wird. Die Angaben sind mit Größe, Hersteller und Partitionsangaben aber vorbildlich präzise. Mit „Schritt 4“ folgt noch die Partitionsauswahl, wobei Sie wieder – wie beim Backup empfohlen – alle Partitionen übernehmen. Nach „Schritt 5“ mit Zusammenfassung und „Weiter“ startet die Wiederherstellung des Datenträgers.

Hübsche Rescuezilla-Funktion, aber kaum praxistauglich: Der Image-Explorer will den Zugang auf die Dateiebene in den Sicherungsimages ermöglichen, ist aber zu langsam.

Das mächtige Clonezilla

Anders als Rescuezilla hat das Livesystem Clonezilla keinen Desktop oder weitere Programme, sondern fokussiert sich ausschließlich auf seinen Spezialjob. Der Hersteller bietet im Downloadbereich von https://clonezilla.org/downloads.php mehrere Varianten. Wir empfehlen die oberste Option „alternative stable“, die auf Ubuntu basiert (aktuell „groovy“, also Ubuntu 20.10). Ohne Desktop und sonstige Tools wiegt das Livesystem nur etwa 350 MB und kann mit den üblichen Mitteln (dd, Gnome-Disks, Etcher, Win 32 Diskimager) bootfähig auf USB-Stick kopiert werden.

Im textbasierten Menü navigieren Sie mit Cursor- und Tabulatortasten und bestätigen „OK“ mit der Eingabetaste. Im allerersten Startschirm wählen Sie die erste Option „Clonezilla live“. Wenn Sie im Folgefenster „de-DE.UTF“ wählen, ist das Menü samt Erklärungen weitestgehend in deutscher Sprache. Im Folgefenster sollten Sie außerdem das Tastaturlayout auf „German“ setzen. Weitere Abfragen zur Tastatur beantworten Sie mit den Standardvorgaben. Danach laden Sie im Fenster „Starte Clonezilla“ das eigentliche Tool.

Das Backup: Wählen Sie im ersten Dialog die oberste Option „device-image“ und danach „local_dev“. Sie haben jetzt Gelegenheit, ein USB-Laufwerk anzuschließen. Drücken Sie die Eingabetaste. Clonezilla zeigt Ihnen die verfügbaren Laufwerke an. Warten Sie, bis das USB-Laufwerk erscheint, und drücken Sie dann die Tastenkombination Strg-C. Wählen Sie das Ziellaufwerk aus und danach ein Verzeichnis, in dem Clonezilla das Backup speichern soll. Gehen Sie mit den Pfeiltasten auf „Done“ und drücken Sie zweimal die Eingabetaste.

Wenn Sie ein Image im Netzwerk sichern wollen, wählen Sie statt „local_dev“ das gewünschte Netzwerkprotokoll – also „samba_server“ für Windows/Samba-Freigaben oder „ssh_server“ für eine Sicherung via SSH. Danach geben Sie die IP-Adresse des Servers an und die zugehörigen Anmeldedaten mit Kontoname und Passwort. Im Anschluss fahren Sie fort, wie bei einem lokalen Ziel beschrieben.

Verwenden Sie den Modus „Beginner Einsteiger“ und dann die Option „savedisk“, sofern Sie ein Abbild der gesamten Festplatte erstellen möchten. Dies ist im Zweifel immer zu empfehlen, weil Clonezilla dann alle Partitionen inklusive Bootmanager sichert. Dabei spielt es keine Rolle, ob Windows, Linux oder beide Systeme installiert sind. Die weitere Option „saveparts“ sichert nur einzelne ausgewählte Partitionen.

Vergeben Sie einen aussagekräftigen Namen für das Image. Anschließend wählen Sie die Festplatte oder Partition aus, die Sie sichern möchten. Bei den folgenden Dialogen übernehmen Sie die Voreinstellungen.

Die Wiederherstellung: Starten Sie Clonezilla mit den Optionen „device_image“ und „local_dev“ (bei lokaler Sicherung). Wählen Sie die Partition und das Verzeichnis aus, in dem ein zuvor gesichertes Image liegt. Gehen Sie auf „Beginner“ und dann auf „restoredisk“. Wenn Sie vorher einzelne Partitionen gesichert haben, verwenden Sie „restoreparts“. Clonezilla findet auf dem Backup-Medium alle Abbilder automatisch und präsentiert sie in einer Liste. Danach wählen Sie die Zielpartition aus, in die das Image zurückgeschrieben werden soll. Nach zwei Sicherheitsabfragen spielt Clonezilla das Backup zurück.

Eine Wiederherstellung aus dem Netzwerk läuft entsprechend ab. Hier wählen Sie aber statt „local_dev“ das passende Netzwerkprotokoll – also etwa „samba_server“ und geben danach die Anmeldedaten an.

Direktes Klonen: Beim Klonen spielt es keine Rolle, ob es sich bei Quelle und Ziel um Festplatten oder SSDs handelt. Wichtig sind nur die Datenträgergrößen. Wir gehen hier vom häufigen und einfacheren Fall aus, dass das neue Zielmedium gleich groß oder größer ist als das bisherige Laufwerk. In diesen Fällen benötigt Clonezilla keine Vorbereitung und nur geringe Nachbesserung:

Sie wählen zunächst „device-device“, dann „Beginner“ und anschließend „disk_to_local_disk“. Geben Sie zunächst den Datenträger an, den Sie kopieren wollen, im nächsten Schritt das neue Ziellaufwerk. Die folgenden beiden Dialoge bestätigen Sie mit Eingabetaste, um die Voreinstellungen zu übernehmen. Folgen Sie den weiteren Anweisungen des Assistenten. Prüfen Sie die Einstellungen und bestätigen Sie mit „y“, wenn Sie dazu aufgefordert werden.

Wenn der neue Datenträger mehr Kapazität besitzt als der ursprüngliche, dann bleibt nach der Clonezilla-Aktion, welche exakt die ursprünglichen Größen wiederherstellt, nach der letzten Partition ungenutzer Plattenplatz. Dies korrigieren Sie in einem beliebigen Linux-System mit Gparted, indem Sie die letzte Partition auf dem neuen Laufwerk maximal vergrößern.

Clonezilla: Die Menüs sind anspruchsvoll, aber ganz gut erklärt. Typischerweise arbeiten Sie mit Images (Bild oben) und mit lokalen Datenträgern (Bild unten).

Dateisysteme für Linux

Bei Dateisystemen gibt es keinen Stillstand. Im Hinblick auf ihre immense Verantwortung geschehen aber alle Fortschritte zäh, konservativ und abseits der öffentlichen Wahrnehmung. Ubuntus aktuelle Parteinahme für ZFS sorgt für frische Diskussion.

Seit vielen Jahren gilt das Dateisystem Ext4 als Standard auf dem Linux-Desktop, zumeist auch auf Servern. Eindeutige Plädoyers für andere Dateisysteme wie etwa beim NAS-System Freenas für ZFS blieben rar. 2017 schlug sich Open Suse Leap auf die Seite von BTRFS, und neuerdings hat Ubuntu ZFS in die Desktop-Installation integriert (wenn auch optional). Wir nehmen dies zum Anlass für einen Heftschwerpunkt zum Thema „Dateisysteme“. Dieser erste Beitrag soll die Bedeutung und prinzipielle Funktionsweise von Dateisystemen skizzieren, die wichtigsten kurz charakterisieren und die erweiterten Fähigkeiten von Dateisystemen diskutieren. Dies führt dann zwangslos zu Fragen, für welche Szenarien sich welche Dateisysteme am besten eignen und ob der Linux-Desktop tatsächlich eine Abkehr vom bisherigen Ext4-Standard benötigt.

Die nachfolgenden vier Artikel führen dann in den praktischen PC-Alltag und zeigen Basiskonfiguration und Tuning-Tipps für die Linux-Dateisysteme Ext4, ZFS, BTRFS und für Windows-Alternativen für den Datenaustausch.

1. Dateisysteme: Die sichtbare Spitze

Am Linux-Desktop zeigen sich Dateisysteme nur an zwei Stellen deutlich: bei der (manuellen) Installation und in der Laufwerksverwaltung. Die Installation bietet die Formatierung mit Ext2/3/4, XFS, JFS, BTRFS, eventuell ZFS, die Laufwerksverwaltung hat in der Regel zusätzlich NTFS und FAT32, exFAT im Angebot. Inaktive (ausgegraute) Linux-Dateisysteme lassen sich durch Nachinstallationen passender Pakete aktivieren.

Die Aktion, ein Laufwerk oder einen Teil dessen (Partition) mit einem Dateisystem zu versehen, nennt sich bekanntlich „Formatieren“. Optionales Partitionieren (Aufteilen) eines Laufwerks ist einer Formatierung vorgeschaltet. Dort und in der daraus resultierenden Partitionstabelle geht es darum, ein Laufwerk aus organisatorischen Gründen in mehrere Bereiche aufzuteilen (Partitionen). Sobald eine Partition anschließend durch ein Dateisystem formatiert wird, erhält die Partition in der Partitionstabelle eine knappe Kennziffer, um welches Dateisystem es sich handelt.

Die sichtbare Spitze des Eisbergs „Dateisystem“ wird wesentlich größer, sobald die zugehörigen Terminaltools zum Einsatz kommen. Erst diese zeigen die Komplexität und die Tatsache, dass ein Formatieren mit grafischen Werkzeugen für zahlreiche Parameter einfach bewährte Kompromisswerte setzt. Ein besonders wichtiger Parameter ist die Block- oder Clustergröße, die standardmäßig 512 Bytes, heute meist 4 KB beträgt.

Wichtig und sichtbar für den Anwender sind ferner Standardverzeichnisse eines Dateisystems. Diese sind allerdings bloße Namen, Konvention und Tradition, und vom eigentlichen Handwerk des Dateisystems Lichtjahre entfernt.

Dateisysteme auf Desktop und Terminal: Grafische Tools zeigen nur die Spitze des Eisbergs und formatieren mit Standards. Wer spezielle Wünsche hat, muss Terminalwerkzeuge verwenden.

2. Dateisystem-Pflicht: Die Übersetzungsleistung

Dateisysteme kennen Pflicht und Kür (dazu später). Unabdingbare Pflicht für jedes Dateisystem ist es, angeforderte Dateien zu finden und bereitzustellen. Die Tatsache, dass sich Dateien über hierarchische Pfade, über Namen, Extensionen oder Datumsangaben aufrufen oder filtern lassen, erfordert erheblichen Verwaltungsaufwand. Der Controller der Hardware (Festplatte, SSD) kann jede Einheit (Sektor, Block) in Milli- oder Mikrosekunden ansteuern. Aber er braucht die exakte Kennziffer der gewünschten Einheit: Ordner und Dateinamen sind ihm so fremd wie der Dateibegriff insgesamt. Wenn ein Laufwerk die Bits aus etlichen angeforderten Blöcken ausliefert, weiß es weder, dass es sich um eine zusammengehörige Datei handelt, noch weniger, dass diese sich in einem bestimmten Ordner befindet und einen Namen besitzt. Nebenbei: Auch die Einteilung in Partitionen ist der Hardware unbekannt. Das ist alles Aufgabe des Dateisystems.

Das Dateisystem errichtet ab Formatierung eine Dateitabelle. Jede Datei erhält dort einen Eintrag mit Metadaten wie Dateiname, Erstelldatum, Rechtemaske. Format und Umfang dieser Einträge bestimmen die maximalen Datei- und Pfadnamen, maximale Dateigrößen und die Tauglichkeit für Multiuser-Systeme mit Rechteverwaltung. Entscheidend zum Auffinden der Dateiinhalte ist der Verweis auf die Zuordnungseinheiten – Cluster oder Blöcke (Cluster ist der klarere Begriff für eine Dateisystemeinheit, weil „Block“ auch Hardware-technisch die kleinste Datenträgereinheit meint). Um die Übersetzungsarbeit für die Hardware zu vereinfachen, entsprechen diese Cluster genau oder als einfaches Vielfaches der Block- oder Sektorgröße des Datenträgers – oft vier KB, sofern der Nutzer bei der Formatierung keine andere Wahl trifft. Als Clusterzeiger in der Dateitabelle dient dann eine schlichte Ziffer für den Startcluster der Datei, ferner eine weitere Ziffer für die Anzahl der Folgecluster (da eine Datei in der Regel mehrere oder viele Cluster beansprucht).

Nehmen wir an, Sie klicken im Dateimanager auf eine Datei „Rechnung_034-2020.odt“. Woher weiß das Dateisystem, dass es den Inhalt dieser Datei etwa aus den Clustern 12057, 12058 und 12116 zu laden hat? Und woher weiß das System, welche Dateinamen es anzeigen soll, wenn Sie im Home-Verzeichnis auf „Dokumente“ klicken? Anhand der kompletten Pfadangabe beginnt die Suche immer auf der obersten Ebene der Dateitabelle. Dort findet sich der Eintrag für den ersten Ordnernamen der Pfadangabe, in dessen Inhalt geht die Suche dann weiter zum nächsten Unterordner gemäß Pfadangabe bis hinunter zur gesuchten Datei.

Noch sind wir beim Eintrag der Datei in der Dateitabelle – nicht bei der Datei selbst: Wo diese liegt, zeigen nun aber die Cluster-Verweise. Startcluster und Anzahl der Cluster können nun an die Hardware weitergegeben werden. Wenn die Datei unfragmentiert ist, also der komplette Inhalt in einer zusammenhängenden Clusterfolge abgelegt ist, genügt es, den Startcluster anzuspringen und ab dort die angegebene Anzahl von Cluster einzulesen. Bei fragmentierten Dateien folgt in der Dateitabelle ein weiterer Eintrag mit dem nächsten Startcluster und der Clusteranzahl.

Teil eines Eintrag in der Dateisystemtabelle (schematisch): Das System muss Dateiinhalte aus Clustern einsammeln. Die Dateitabelle nennt nur die Anzahl der Cluster und die Kennziffer des Startclusters.

3. Dateisystem-Kür: Erweiterte Eigenschaften

Die angesprochene Kernaufgabe erledigt jedes Dateisystem. Die Limits für Pfadlänge, Dateigröße und Datenträgergröße sind zum Teil pragmatisch (Pfadlänge bei NTFS, Größen bei F2FS oder Ext2/3), ohne aber bei Desktop-Systemen an ernsthafte praktische Grenzen zu stoßen. Lediglich das alte FAT32 hat mit einer maximalen Dateigröße von nur 4 GB ein Limit, das in den PC-Alltag hineinwirkt.

Was Dateisysteme neben der Pflicht der Dateibereitstellung zusätzlich leisten sollen, wird durchaus kontrovers interpretiert. Die einzelnen Eigenschaften (siehe Tabelle) lassen sich in folgende Hauptaspekte gliedern:

1. OPTIMIERTE LEISTUNG: Während einfache Dateisysteme Schreibaktionen sofort und undifferenziert einfach in die nächstmöglichen freien Cluster schreiben, gibt es eine Reihe von intelligenteren Methoden, um erstens die Zugriffe zu beschleunigen und zweitens die Fragmentierung zusammenhängender Dateien zu verringern. Allocate-on-Flush verzögert den Schreibvorgang, um den kompletten Platzbedarf einer Datei abzuwarten und dann zusammenhängend zu speichern (unfragmentiert). Extents verschlanken die Dateisystemtabelle, indem sie bei vermehrten Metadaten selbige in normale Datencluster auslagern. Permanentes Dateisystem-Caching verwendet nur ZFS mit entsprechenden RAM-Ansprüchen.

Sparse-Dateien sind eine intelligente Antwort auf Dateien ohne Inhalt: Das Dateisystem erkennt die „Leere“ und belegt keine Cluster, selbst wenn die Metadaten eine formale Dateigrößen im MB- oder GB-Bereich definieren. Trim-Support ist eine Spezialität für SSDs, um die Hardware über gelöschte und somit freigewordene Blöcke zu informieren. Eine eher marginale Eigenschaft ist Execute-in-Place, das Programmausführung direkt vom Datenträger erlaubt (ohne Kopie in den Arbeitsspeicher), aber nur für sehr speziellen Programmecode in Betracht kommt.

2. OPTIMIERTE SICHERHEIT: Das verbreitete Journaling ist sowohl eine Sicherheitsfunktion als auch eine Leistungsoptimierung: Das Journal protokolliert entweder nur die Metadaten in der Dateitabelle oder sämtliche Änderungen an Dateiinhalten (Full Journaling). Nach Absturz, Hard Reset oder Stromausfall muss das Dateisystem dann nicht komplett geprüft werden, sondern sieht im Journal alle Dateiänderungen, die nicht ordentlich abgeschlossen wurden. Einige wenige Dateisysteme führen obendrein gesonderte Change-Logs und schreiben Checksummen in die Metadaten. Copy-on-Write (CoW) bedeutet, dass geänderte Blöcke nicht an Ort und Stelle überschrieben, sondern zunächst in freie Cluster kopiert werden. Die dadurch entstehende Redundanz ist Voraussetzung für Snapshot-Sicherung (nur BTRFS und ZFS).

3. ERWEITERTE METADATEN: Alle elaborierteren Dateisysteme notieren als Metadaten deutlich mehr als die unbedingt erforderlichen Pfade, Namen und Clusterverweise. Besitz, Dateirechte, mehrere Zeitstempel und Streams als formal unstrukturierte Metadaten sind fast überall Standard. Streams eignen sich als interne Infos für Software, aber auch als Kommentarfunktion.

4. ERWEITERTE FUNKTIONEN: Besondere Attraktivität für Anwender haben native Zusatzfunktionen des Dateisystems wie Verschlüsselung und Kompression. Hier kann das ansonsten pragmatische NTFS gegenüber den Linux-Standards klar punkten. Snapshots zur Systemsicherung bieten andererseits nur die Linux-Dateisysteme BTRFS und ZFS. Diese gehen aber noch einen ganzen Schritt weiter, indem sie einen eigenen Volume-Manager zur Laufwerksverwaltung integrieren. Funktional bedeutet das, dass Größenänderungen des Dateisystems online wie offline und mit Anschluss zusätzlicher Laufwerke möglich sind.

Dateisystem-Funktionen treten selten wie hier ins sichtbare Licht: ZFS-Snapshots erscheinen neuerdings als „History“ im Grub-Menü von Ubuntu (falls ZFS als Dateisystem arbeitet).

4. Dateisysteme und ihre Performance

Zur Leistung von Dateisystemen gibt es zahlreiche Messungen, die sich aber nicht gegenseitig bestätigen. Zuverlässiges Testen der Dateisystemleistung ist heikel, weil sehr viele Faktoren mitspielen. Die Größe der Dateien ist relevant, weil Dateisysteme ihre jeweiligen Vorzüge besitzen. Noch wichtiger ist die Clustergröße, denn jedes Dateisystem ist umso schneller, je weniger Einzelblöcke es zusammensuchen muss. Ein gerechter Vergleich müsste überall dieselbe Clustergröße verwenden – soweit dies einstellbar ist. Dies wiederum kann zu Ungerechtigkeiten führen, wenn Dateisysteme intern auf ihre Standardgrößen hin optimiert sind. Für einen gerechten Vergleich müssten ferner alle Daten unfragmentiert vorliegen. Spezielle Funktionen wie Kompression müsste man von vornherein ausschalten, eventuell auch das Aufzeichnen von speziellen Metadaten – soweit dies überhaupt vorgesehen ist.

Angesichts dieser Situation ist ein objektiver Vergleichstest eine akademische Herausforderung, die wir an dieser Stelle radikal und vereinfachend abkürzen: Generell darf man von einfachen Dateisystemen wie Ext2 oder FAT32, die sich weder mit Journaling, Fehlerprüfung noch mit luxuriösen Metadaten abgeben müssen, höheren Durchsatz erwarten. Gerade auf nicht systemrelevanten Laufwerken mit Benutzerdaten ist älteres Ext2 oft die beste und schnellste Alternative, exFAT auch nicht immer verkehrt. F2FS bietet sich für USB-Sticks an. Elaborierte Dateisysteme können den zusätzlichen Verwaltungsaufwand durch optimierte Schreibverfahren und präventive Maßnahmen gegen die Fragmentierung nur teilweise kompensieren.

5. Relevante Dateisysteme

Wie viele Dateisysteme braucht Linux? Die Betriebssystem-Konkurrenz leistet sich längst nicht den Luxus so zahlreicher Entwicklungen. Der langjährige Windows-Standard NTFS ist bislang ausreichend und hat Komfortfunktionen an Bord, ähnliches gilt für APFS unter Mac OS sowie das einfachere HFS+. Für wachsende Server-Ansprüche arbeitet Microsoft an ReFS, das zwar astronomische Kapazitäten verwaltet, aber noch viele unter NTFS selbstverständliche Attribute vermissen lässt. Für das einfache Austauschformat FAT32 hat Microsoft beizeiten den Nachfolger exFAT nachgelegt, um drängende Größenlimits zu überwinden.

Unter Linux tummeln sich zahlreiche prominente, exotische und spezialisierte Dateisysteme. Die Übersichtstabelle beschränkt sich auf jene, die am Linux-Desktop in Erscheinung treten (etwa in der Laufwerksverwaltung). Da Ext4, BTRFS und ZFS nachfolgend eigene Beiträge erhalten, beschränken wir uns an dieser Stelle auf eine Kurzcharakteristik der verbleibenden Dateisysteme Ext3, Ext2, JFS, XFS und F2FS:

Ext3 und Ext2: Der wichtigste Unterschied dieser Ext-Versionen ist das mit Ext3 eingeführte Journal. Wo diese Sicherheitsfunktion keine Rolle spielt, ist Ext2 die einfachere und schlankere Wahl. Anders ausgedrückt: Wenn Journaling-Sicherheit gefragt ist (Systempartition), nimmt man besser gleich Ext4, wo nicht, genügt auch Ext2.

XFS: Das Journaling-Dateisystem wurde ursprünglich für Server-Aufgaben geschaffen. Die ehemals gelobten Geschwindigkeitsvorteile beim Umgang mit sehr großen Dateien und beim Mehrfachzugriff auf Daten dürften mittlerweile weitgehend egalisiert sein. Ein spürbarer Unterschied zu Ext4 besteht heute nicht mehr. Messbar mag XFS aber immer noch vorne liegen, da etwa Open Suse die Home-Partition standardmäßig mit XFS formatiert.

JFS: Das „Journaling File System“ ist so alt (1990 von IBM), dass es die damals noch revolutionäre Journal-Funktion zur Namensgebung verwendete. JFS ist heute eigentlich JFS2 und hat keine herausragenden Eigenschaften, aber auch keine nennenswerten Schwächen.

F2FS: Das „Flash-Friendly File System“ von Samsung ist ein Spezialist für Flash-Speicher – also für SD-Karten, SSDs und eMMC. Die begrenzte Lebensdauer von rund 10.000 Schreibzugriffe pro Speicherzelle legt es dort nahe, die Dateiinhalte turnusmäßig so umzuverteilen, dass alle Bereiche des Datenträgers in etwa gleichmäßig beansprucht werden. Für solches „Wear-Leveling“ sorgt die Hardware im Prinzip selbständig. F2FS entlastet diese Aufgabe aber dadurch, dass es die Daten für Schreibvorgänge strukturiert und zwischen Daten mit tendenziell kurzer (Benutzerdaten) und langer Lebensdauer (Dateitabelle, Betriebssystem) unterscheidet. F2FS ist in der Regel nicht vorinstalliert, kann aber mit dem Paket „f2fs-tools“ leicht nachgerüstet werden:

Nachgerüstete Spezialdateisysteme: Wenn die meist kleinen Pakete für Dateisysteme nachinstalliert sind (hier f2fs-tools), sind sie auch in grafischen Werkzeugen wie Gparted aktiv.

Der Linux-Standard Ext4

Das robuste Ext4 ist in den meisten Linux-Distributionen der Standard bei der Installation und bei der Formatierung externer Laufwerke. Die Voreinstellungen garantieren Datensicherheit, Ext4-Tools ermöglichen optionales Tuning und Dateiverschlüsselung.

Die Entwicklung von Ext („Extended Filesystem“) reicht über die Vorgänger 3 und 2 letztlich zurück bis ins Jahr 1993. Änderungen bei Ext folgten ganz konservativ den gewachsenen Standardanforderungen (etwa Journaling-Sicherheit) oder technischen Notwendigkeiten (etwa Kapazitätslimits), experimentelle Extras standen offenbar nie zur Diskussion. Version Ext4 hat mit seinen aktuellen Spezifikationen keine drohenden Limits hinsichtlich Gerätegrößen, Dateigrößen oder mangelnder Metadaten. Es darf seit mehr als 10 Jahren als Quasi-Standard auf allen Desktop- und Server-Distributionen gelten, wo ein grundsolides Dateisystem gewünscht ist – genau das: nicht weniger, nicht mehr.

Integration und Werkzeuge

Die kleine Ewigkeit als Linux-Standard hatte wenige Konsequenzen am grafischen Desktop. Zwar ist eine händische Formatierung mit

sudo mkfs.ext4 […]

nur in Sonderfällen nötig, weil Installer und Laufwerksverwaltungen Ext4 integrieren. Nennenswert darüber hinaus geht die Desktop-Integration aber nicht. Auch für Ext4 sind Interna nur über Terminalwerkzeuge zu erledigen. Alle Ext4-Tools sind im Standardpaket e2fsprogs enthalten und mit

dpkg -L e2fsprogs

leicht zu ermitteln. Neben den fundamentalen Programmen mke2fs oder gleichbedeutend mkfs.ext4 (Formatieren) und e2fsck oder gleichbedeutend fsck.ext4 (Integritätscheck) gibt es eine ganze Reihe weiterer Werkzeuge: badblocks, debugfs, dumpe2fs, e2image, e2scrub, e2undo sind allesamt forensische Tools, die im Alltag keine große Rolle spielen und typische PC-Anwender überfordern dürften. e2freefrag, e4defrag, filefrag liefern Infos zur Fragmentierung oder leisten aktive Defragmentierung (e4defrag). E4defrag kann mit Schalter „-v“ auf Einzeldateien, Verzeichnisse und Partitionen angewandt werden.

Resize2fs ist das Low-Level-Tool für Größenänderungen von Partitionen. In der Regel wird man hierfür am Desktop bevorzugt zum grafischen Gparted greifen. Für die beiden verbleibenden und interessantesten Ext-Tools – tune2fs und e4crypt – folgen konkrete Einsatzbeispiele.

Laufwerksoptionen mit tune2fs steuern

Das Werkzeug tune2fs steuert viele Dateisystemeigenschaften wie die zu schreibenden Metadaten, die Absicherung durch das Journaling oder die Häufigkeit von Integritätschecks. Selbst auf der Systempartition sind nicht immer Standards erforderlich, auf externen Datenträger noch weniger. Klar ist dennoch: Folgende Eingriffe verringern die Robustheit des Dateisystems und bleiben eine Ermessensfrage.

Ext4-Journaling abschalten: Auf externen Laufwerken mit (oft nur redundanten) Benutzerdaten ist die Absicherung durch das Journalprotokoll selten notwendig. Ohne Journaling entfallen viele Schreibaktionen, was den Datendurchsatz beschleunigt. Oft wäre dort die Wahl des Journal-freien Vorgängers Ext2 von vornherein die bessere Wahl, aber auch auf Ext4 lässt sich Journaling deaktivieren (hier für „sde1“):

sudo umount /dev/sde1
sudo tune2fs -O ^has_journal /dev/sde1

„tune2fs -O“ (Buchstabe „O“) entfernt Dateisystemattribute mit „^“, während „+“ solche hinzufügen kann. Die aktuellen Eigenschaften ermitteln Sie so:

sudo tune2fs -l /dev/sde1

Die Ausgabe wird nach obiger Aktion neben „Filesystem features“ das Attribut „has_journal“ nicht mehr anzeigen.

Ext4-Checks reduzieren: Folgender tune2fs-Befehl

sudo tune2fs -i60 -c100 /dev/sda

reduziert die Datenträgerchecks: Die langwierige Prozedur wird dann nur noch alle 60 Tage („-i60“) oder nach 100 Neustarts („-c100“) erfolgen – je nachdem, welches Ereignis früher erfüllt ist.

Reservierten root-Speicher reduzieren: Ext4 reserviert auf jeder Partition Speicherplatz für das root-Konto. Falls ein System durch eine vollgeschriebene Systempartition lahmgelegt wird, kann sich noch root anmelden. Der reservierte Platz beträgt immerhin fünf Prozent der Gesamtkapazität und lässt sich gefahrlos verringern:

sudo tune2fs -m 1 /dev/sda1

Dies reduziert die Anzahl der root-Reserve auf Partition „/dev/sda1“ auf ein Prozent. Ganz ausschalten („-m 0“) sollten Sie die Reserve aber nicht.

Ext4-Metadaten reduzieren: Ext4-formatierte Partitionen speichern bei jeder Datei mehrere Zeitangaben. Erstelldatum und Änderungsdatum werden immer eingetragen (ctime und mtime: Creation und Modification). Optional ist hingegen das Erfassen des letzten Dateizugriffs (atime: Access). Diese Information ist nur dann relevant, wenn Sie mit „find -atime“ nach Zugriffszeiten von Dateiobjekten suchen. Wenn Sie das nie tun, kann die Festplattenaktivität reduziert werden. Hier hilft ausnahmsweise nicht tune2fs, sondern nur ein Eingriff in die Datei /etc/fstab:

UUID=[…]   /  ext4   noatime   0   2

Wenn in der Optionen-Spalte bereits Einträge stehen, setzen Sie „,noatime“ an deren Ende (mit Trennkomma). Der Vollständigkeit halber: Es gibt auch noch die Option „nodiratime“, die bei Verzeichnissen darauf verzichtet, die Zugriffszeit zu vermerken. Wenn Sie die Aktivität der Festplatte reduzieren möchten, ist „noatime“ die weitreichendere Maßnahme.

Verschlüsselung mit Ext4

Ext4 hat durch Google transparente Verschlüsselung erhalten, die Google im Hinblick auf Android-Geräte entwickelt hat. Die Leistung der Ext4-Verschlüsselung ist mit Cryptsetup/LUKS vergleichbar oder sogar besser, außerdem fordert Ext4-Verschlüsselung keine Neuformatierung. Trotzdem muss man diese Option unter Linux noch deutlich kritisch beurteilen – nach dem Motto: Es funktioniert im Prinzip. Die nachfolgend beschriebene Aktion beschränkt sich auf das einfache, aber realistische Szenario, dass das Verzeichnis eines USB-Datenträgers nur auf genau einem PC gelesen werden darf.

Da eine engere Desktop- oder Dateimanager-Integration fehlt, müssen im Terminal die beiden Tools tune2fs und e4crypt zusammenarbeiten. Folgendes Kommando

sudo tune2fs -O +encrypt /dev/sdc1

aktiviert zunächst die Verschlüsselung für Partition /dev/sdc1 (auf bereits vorhandene Daten hat diese Aktion keine Auswirkung). Danach benötigt die Verschlüsselung einen Ext4-Schlüssel:

e4crypt add_key

Das Passwort wird nur einmal abgefragt und hat keine Komplexitätsanforderungen. Dieser Schlüssel wird im Schlüsselbund des gerade angemeldeten Benutzers gespeichert. Der Befehl

keyctl show

gibt Einblick in den Schlüsselbund (eventuell muss dafür das kleine Paket „keyutils“ nachinstalliert werden) und zeigt den neuen Ext4-Schlüssel als „logon: ext4:…“. Die nach „ext4:“ folgende Hexadezimal-ID brauchen Sie zur Verschlüsselung des Verzeichnisses (Beispiel):

e4crypt set_policy [Hex-ID] /media/lw/Privat

Ab sofort werden alle neuen Dateien im Verzeichnis „Privat“ automatisch auf Dateisystem-Ebene verschlüsselt gespeichert und transparent wieder entschlüsselt. Das funktioniert, solange der Ext4-Schlüssel im Schlüsselbund gespeichert ist, also bis zur nächsten Anmeldung am System. Ohne Schlüssel bleibt der Datenträger zwar insgesamt lesbar, aber der Ordner „Privat“ zeigt nur Zeichensalat – auch bei den Dateinamen. Für erneuten Zugriff auf die Daten genügt nach dem Einhängen des Ext4-Datenträgers die erneute Eingabe dieses Befehls:

e4crypt add_key

Das Tool fragt das Passwort ab und lädt bei korrekter Eingabe den Ext4-Schlüssel in den Schlüsselbund. Das Verzeichnis und die enthaltenen Dateien sind dann sofort wieder lesbar. Das Systemkonto, das diese Aktion ausführt, spielt keine Rolle. Wer auf dem betreffenden Rechner das Kennwort weiß, hat Zugriff auf das verschlüsselte Verzeichnis des Ext4-Datenträgers.

Eigenschaften eines Ext4-Dateisystems: „tune2fs -l“ zeigt alle statischen und dynamischen Attribute einer Ext4-Partition. Die „Filesystem features“ sind konfigurierbar.
Verschlüsselter Ordner auf USB-Stick: Ohne Passwort kann ein fremdes System den Ordner nicht benutzen. Auch die Dateinamen sind kodiert. Andere Ordner des Datenträgers bleiben zugänglich.

Das Dateisystem ZFS

Das ursprünglich für Sun Solaris entwickelte ZFS gilt als „last word in filesystems“. Es geht über die engere Definition eines „Dateisystem“ weit hinaus, kennt keine Limits, besitzt alle Funktionen und Metadaten und integriert einen Volume Manager.

Eine gerechte Bewertung von ZFS ist nicht einfach: Metadaten, Besitzrecht, ACLs, Streams, Zeitstempel, Checksummen, Hardlinks, Softlinks, Quotas, Journaling, Caching? Alles drin – und viel mehr: Das Dateisystem hat nach heutigem Ermessen keine Größen- oder Mengenbegrenzungen. Dazu arbeitet es als Volume Manager zum Zusammenlegen von Festplattenpools, verkleinert/vergrößert den Pool online durch Hotplug oder Entnahme von Datenträgern. Der integrierte RAID-Z-Controller ermöglicht ausfallsichere Mehrfachspeicherung. Automatische und manuelle Snapshots sorgen für Systemsicherheit (neben der automatischen Fehlerkorrektur und Journaling). Datenkomprimierung, Verschlüsselung und Netzfreigaben erledigt ZFS noch nebenbei.

ZFS im Desktop-Anflug (Ubuntu)? Kaum je zuvor ist auf dem PC-Desktop etwas so krass Überdimensioniertes gelandet wie dieses Dateisystem. Das ist kein SUV oder Pick-Up, der nicht in die Garage passt: Hier landet ein Chinook-Transporthubschrauber im Schrebergarten. „Viel zu groß“ ist aber nur das eine Problem, fast noch gewichtiger ist die Tatsache, dass für dieses Flugobjekt kein Führerschein A bis D ausreicht. Wer die Piloten-Ausbildung machen will, muss ein Semester einplanen.

ZFS: Werkzeuge und Grundlagen

ZFS ist nicht im Linux-Kernel integriert, weil Linus Torvalds dies – auch, aber nicht nur – aus lizenzrechtlichen Bedenken ablehnt. Die einzige Linux-Distribution, die optionale ZFS-Unterstützung direkt mitbringt, ist Ubuntu 20.04/20.10, sofern diese Option bei der Ubuntu-Installation gewählt wurde. Überall sonst – und auch unter Ubuntu ohne ZFS-Installation – lässt sich das ZFS-Dateisystem mit diesen beiden Paketen

sudo apt install zfsutils-linux zfs-fuse

nachrüsten. Eine Integration in grafische Werkzeuge ist dadurch aber nicht gegeben, ZFS erfordert grundsätzlich Terminalarbeit. Die in den genannten Paketen enthaltenen Terminalprogramme sind mit zfs, zpool und zfs-fuse überschaubar, hinzu kommen noch eher periphere Tools zdb (Debugger) und zstreamdump (Output-Filter für „zfs send“). Die geringe Toolanzahl kann aber nicht lange darüber hinwegtäuschen, wie komplex ZFS ist: Die Manpages für die beiden Werkzeuge zfs und zpool könnten mit etwas Kommentierung dieses Magazin füllen.

ZFS fordert eine großzügige Cache-Verwaltung, deren RAM-Verbrauch von der Festplattenkapazität abhängt: Einige Hundert MB gehen verwaltungstechnisch grundsätzlich weg, ferner pro TB Plattenkapazität etwa ein GB RAM. Ein Desktop-Rechner mit einer 4-TB-Platte muss also etwa 4 GB RAM für ZFS abzweigen. Außerdem laufen für ZFS mindestens vier Systemdienste, der wichtigste heißt „zfs-zed“.

Wer sich bei einer Ubuntu-Installation für ZFS entscheidet, erlebt dies erst einmal als unkomfortable Zunahme an Komplexität: Laufwerkstools wie Gparted oder Gnome-Disks zeigen die rpool-Partitionen von ZFS zwar an, können sie aber nicht bearbeiten. Terminaltools wie mount, lsblk oder df werden durch die komplexe ZFS-Partitionierung durchweg unübersichtlicher.

Für produktive Nutzung sind „zfs“ und „zpool“ zuständig. Ersteres verantwortet die Eigenschaften des Dateisystems, zweiteres ist für die Verwaltung der Datenträger zuständig, die bei ZFS immer als „Pool“ organisiert sind, selbst wenn nur ein Datenträger vorliegt. Der Befehl

zpool list

zeigt die aktuellen ZFS-Datenträger des Pools an, Basisbefehle wie „zpool create“ oder „zpool add“ formatieren Datenträger mit ZFS oder fügen sie einem bestehendem Pool hinzu.

Einem Pool untergeordnet sind ZFS-Datasets, die keineswegs einem kompletten Datenträger entsprechen müssen. In Datasets werden Standardpfade und Snapshots als je einzelnes Dateisystem verwalten, wie folgender zfs-Befehl zeigt:

zfs list

Er bringt die Mount-Übersicht und informiert über den Belegungszustand. Eine detaillierte Anzeige der ZFS-Eigenschaften pro Dataset oder Verzeichnispfad liefert dann folgender Befehl:

zsf get all /

Die hier angezeigte, umfangreiche Liste der ZFS-Eigenschaften können Sie auch einzeln abfragen. So ist etwa eine Eigenschaft wie „compressratio“ mit

zfs get compressratio

global über den gesamten Pool zu ermitteln. Sicher gewöhnungsbedürftig sind dabei die ZFS-Pfadangaben wie „rpool/USERDATA/lw_0am7f7“ mit ID. Dass dies (in unserem Fall) mit /home/lw zu übersetzen ist, zeigt der bereits genannte Befehl „zfs list“.

Beispiel 1: ZFS-Snapshots

Wer Ubuntu mit ZFS installiert hat, sieht bei jeder Installation im Terminal Infos wie folgende (Beispiel):

Anforderung zur Speicherung des aktuellen Systemzustands
Erfolgreich als "autozsys okpszm" gespeichert

ZFS ist also unter Ubuntu soweit integriert, dass bei jeder Installation standardmäßig ein Snapshot entsteht. Dies gilt für Installationen aus den normalen Paketquellen im Terminal wie im grafischen Software-Center. zfs kann alle Snapshots auflisten:

zfs list -t snapshot [-o name,creation -s creation]

Was in eckiger Klammer steht, ist nicht zwingend, reduziert aber auf Snapshot-Namen und Erstelldatum und sortiert („-s“) nach dem Erstelldatum – neueste zuletzt. Snapshot-Namen bestehen aus dem ZFS-Pfad, gefolgt von einem „@“ und dem Namen des Snapshots. Eine Bezeichnung wie

rpool/USERDATA/lw_0am7f7@autozsys_w6sj7d

zeigt einen automatischen Snapshot („autozsys_…“) im Home-Verzeichnis /home/lw („rpool/USERDATA/lw_0am7f7“). Periodisch landen Snapshots auch im Grub-Menü. Damit kann der Systembenutzer über das Bootmenü zu einem früheren Systemzustand zurückkehren. Wird Systemstart mit Umschalt-Taste (Bios-Boot) oder Esc (Uefi-Boot) unterbrochen, dann zeigt Grub den zusätzlichen Eintrag „History for Ubuntu…“ und darunter dann die einzelnen Sicherungen (Beispiel):

Revert to 24.12.2020 @ 16:22

Mit dem Befehl

sudo zfs snapshot create […]

lassen sich Snapshots manuell erstellen – allerdings erwartet ZFS dabei die Pfadangabe gemäß seiner rpool-Verzeichnisstruktur:

sudo zfs snapshot rpool/USERDATA/lw_0am7f7@24.12.2020

Das ist eine Sicherung des Home-Verzeichnisses (von „/home/lw“), die später mit

sudo zfs rollback rpool/USERDATA/lw_0am7f7@24.12.2020

wiederhergestellt werden kann. Der Parameter „destroy“

sudo zfs destroy rpool/USERDATA/lw_0am7f7@24.12.2020

löscht nicht mehr benötigte Snapshots.

Beispiel 2: ZFS-Komprimierung

Mit seiner internen Komprimierung kann ZFS erheblich Platz sparen. Bei einer Ubuntu-Installation mit ZFS ist je nach Format der Benutzerdateien ein Platzgewinn von bis zu 50 Prozent zu erzielen. Die Komprimierung kann auch ad hoc für externe Datenträger genutzt werden. Im folgenden Beispiel bearbeiten wir einen USB-Stick (/dev/sde):

sudo zpool create -f stick32 /dev/sde

Dies bedeutet eine ZFS-Formatierung, die alle bisherigen Daten löscht. Danach liefert der Befehl

sudo zfs get all stick32

die Menge aller ZFS-Attribute und zeigt, dass die Eigenschaft „compression“ aktuell auf „off“ steht. Das ändert dieser Befehl:

sudo zfs set compression=lz4 stick32

Die erneute Abfrage der Eigenschaften zeigt nun bei „compression“ den Wert „lz4“. Das war’s schon. Der USB-Stick ist unter /stick32 im Dateisystem eingehängt und kann nun genutzt werden, nachdem der Benutzer mit

sudo chown -cR sepp:sepp /stick32

den Besitz übernommen hat.

Beispiel 3: ZFS-Verschlüsselung

Um einen verschlüsselten Bereich zu erstellen, beginnt man mit einem neuen Pool unter Angabe eines Namens und der Gerätekennung (hier: /dev/sde):

sudo zpool create mystick /dev/sde

Auf dem neuen Datenpool „mystick“ entsteht nun mit Namen „privat“ der verschlüsselte Bereich. Nach folgendem Befehl

sudo zfs create -o encryption=aes-256-gcm -o keyformat=passphrase mystick/privat

wird zweimal das Passwort abgefragt.

Da steckt was drin: ZFS-Objekte zeigen eine opulente Liste von Eigenschaften, die zum Teil statisch, zum Teil dynamisch, zum Teil vom Benutzer konfigurierbar sind.
Einfach ist anders: Hier wird ein Verzeichnis auf einem USB-Stick als verschlüsselter Bereich definiert

Das Dateisystem BTRFS

BTRFS hat als der etwas kleinere ZFS-Konkurrent das Potential für den künftigen Linux-Standard am Desktop. Es bietet fundamentale Vereinfachungen für die Datenträger-Administration ohne die überdimensionierten Maße eines ZFS.

BTRFS (B-Tree-Filesystem, „Butter FS“, „Better FS“) gibt es seit 2007, ist seit 2009 im Linux-Kernel und gilt seit 2014 als stabil. BTRFS hat viele Gemeinsamkeiten mit ZFS und gilt als dessen kleineres Linux-Pendant, das besser auf die Leistung und die Anforderungen am Linux-Desktop- abgestimmt ist und keine zusätzlichen RAM-Ressourcen fordert. Dennoch bleiben die BTRFS-Spezialitäten vorerst „nur“ optional interessant und für ein typisches Desktop-System sicher nicht zwingend. Bemerkenswert ist die interne Datenkomprimierung, während Datenverschlüsselung (im Unterschied zu ZFS) weiterhin fehlt.

Als Formatierungsoption für interne wie externe Laufwerke hat BTRFS überall in den grafischen Werkzeugen wie Installer oder Laufwerksverwaltungen Einzug gefunden. Überwiegend findet der Umgang mit BTRFS aber im Terminal mit den Programmen statt, die das in der Regel vorinstallierte Paket „btrfs-progs“ (früher „btrfs-tools“) mitbringt. Das wichtigste dieser Tools nennt sich schlicht „btrfs“ und bringt eine Menge an Unterfunktionen mit. Dieser Beitrag hat nur Platz für die interessantesten Fähigkeiten von BTRFS.

BTRFS-Snapshots

BTRFS bietet Snapshots (Systemsicherungspunkte), um – mit einem einzigen Befehl – den aktuellen Partitionszustand zu sichern. Während grafische BTRFS-Tools, die über die grundlegende Formatierung (etwa mit Gnome-Disks) hinausgehen, den meisten Distributionen fehlen, hat Open Suse die Integration ein Stück verbessert. Das Konfigurationszentrum Yast2 bringt mit der Komponente Yast2-Snapper bringt die wichtige Snapshot-Verwaltung in grafischer Darstellung. Dort genügt ein Klick auf „Erzeugen“ für einen manuellen Schnappschuss und „Löschen“ für das Entfernen des markierten Eintrags. Der Punkt „Änderungen anzeigen“ führt zu einem Detailbericht für den markierten Schnappschuss, der gezieltes Zurückschreiben einzelner Dateien ermöglicht – eine kleinteilige Arbeit, die zumindest für Systemdateien gute Kenntnisse voraussetzt. Bedauerlich ist, dass der Yast2-Snapper kein komplettes Rollback zu einem früheren Zustand auslösen kann. Hierfür bietet Opensuse sein Bootmenü mit Auswahl der Snapshots, im laufenden Betrieb außerdem das Terminaltool Snapper:

sudo snapper list 

Dies zeigt zunächst sämtliche Snapshots mit Kennzahl. Dort suchen Sie den geeigneten Snapshot anhand des Datums und geben dann diesen Befehl

sudo snapper rollback [x] 

mit der zugehörigen Kennziffer ein. Danach starten Sie das System neu. Beim Rollback geschieht grundlegend anderes als beim Wiederherstellen einzelner Dateien im Yast-Modul: Hier hängt Snapper den kompletten Snapshot an die ursprüngliche Stelle ins Dateisystem ein und ersetzt dabei die bisherigen Daten.

Insgesamt erscheint die Snapshot-Integration in Open Suse prinzipiell verdienstvoll, aber für Desktop-Nutzer unzureichend. Wer sich mit BTRFS-Snapshots genauer befassen will, kommt trotz Yast2-Snapper und Konsolen-Snapper am zugrundeliegenden Basisprogrammen btrfs nicht vorbei (Beispiel):

sudo btrfs subvolume snapshot /home /home/snapshot.2021.01.01

Die Quelle – hier „/home“ – ist kein beliebig wählbarer Pfad, sondern muss ein existierendes BTRFS-Subvolume sein, welche wiederum der Befehl

sudo btrfs subvolume list /

liefern kann.

Snapshots sind auch bei größeren Laufwerken blitzschnell erledigt, da es sich vorläufig nur um einen Zeiger auf identische Dateiobjekte handelt. Erst bei Änderungen muss BTRFS die Originalversion für den Snapshot gesondert speichern. Der Snapshot wird dauerhaft den Originalzustand anzeigen und diesen erhalten, egal was im Originalordner geschieht. Ein „Rollback“, wie es Snapper nennt, gibt es eigentlich nicht: Vielmehr wird das bisherige Original ausgehängt und der Snapshot eingehängt.

BTRFS-Komprimierung auf SSD

BTRFS bietet für komplette Datenträger transparente (Hintergrund-) Komprimierung aller gespeicherten Dateien. Auf SSDs mit wenig Kapazität kann eine Linux-Installation mit BTRFS Platz sparen und obendrein den Datendurchsdatz erhöhen. Preis ist eine höhere Prozessorlast, was aber bei aktuellen CPUs kaum auffallen sollte. Wenn Linux mit BTRFS installiert wurde (was inzwischen auch Ubuntu & Co anbieten), lässt sich die optionale Komprimierung für das root-Dateisystem in der Datei /etc/fstab einrichten. Nach

sudo nano /etc/fstab

werden Sie eine gut gefüllte Datei mit diversen Subvolumes vorfinden. Für das root-Verzeichnis „/“ wird als Dateisystem „btrfs“ und in der Optionenspalte lediglich „defaults“ anzutreffen sein. Für zusätzliche Komprimierung ergänzen Sie die Option „compress“:

UUID=[Partitions-ID]  /  btrfs  defaults,compress 0  0

Theoretisch kann Analoges auch für „subvol=/@/home“ und weitere Subvolumes erfolgen.

BTRFS-Komprimierung auf USB

Wer Bedenken vor der Formatierung und Komprimierung eines Systemdatenträgers hat, sollte BTRFS immerhin für externe Laufwerke in Erwägung ziehen. Neben dem standardmäßig vorgesehenen

sudo mkfs.btrfs /dev/sd[x]

bieten auch die Gnome- und KDE-Laufwerkstools BTRFS-Formatierung. Falls die optionale Kompression gewünscht ist, sollte sie baldmöglichst nach der Formatierung aktiviert werden, da sie erst ab diesemZeitpunkt wirkt (vorher vorhandene Daten bleiben unberücksichtigt). Dies geschieht am Mountpunkt des eingehängten Laufwerks (hier „/media/sepp/btrfs-stick“):

sudo btrfs property set /media/sepp/btrfs-stick compression zstd

Das Attribut bleibt dann permanent gesetzt, auch nach Aushängen und erneutem Einhängen. Davon und von den aktuellen Eigenschaften eines BTRFS-Dateisystems können Sie sich mit

btrfs property get /media/sepp/btrfs-stick

jederzeit überzeugen. BTRFS-Kompression kann gerade bei langsamen USB-Laufwerken und Speicherkarten den Datendurchsatz deutlich verbessern.

BTRFS: Weitere Praxis-Beispiele

Konvertierung: Das Tool btrfs-convert (im Paket btrfs-progs enthalten) kann von einem Livesystem aus das Ext4-Dateisystem eines bereits installierten Linux zu BTRFS zu konvertieren. Wir raten ab – nicht aus empirischer Erfahrung, sondern aufgrund prinzipieller Vorsicht vor Eingriffen dieser Dimension.

Datenträger zusammenlegen: Folgender Befehl

sudo mkfs.btrfs /dev/sdc /dev/sdd

legt zwei (ausgehängte) Datenträger zu einem logischen Volume zusammen. Achtung – das ist eine Formatierung und eventuelle Daten auf den Laufwerken gehen verloren. Um diesen neuen Speicherplatz einzuhängen, benötigen Sie ein leeres Verzeichnis und einen Mount-Befehl:

sudo mount /dev/sdc ~/Sticks

Es spielt keine Rolle, welche der beiden Geräte-Kennungen Sie verwenden. Sie können später noch weitere Datenträger hinzufügen:

sudo btrfs device add /dev/sdf ~/Sticks/

Das gilt analog auch für root-Dateisystem („/“), falls dort der Speicherplatz knapp wird:

sudo btrfs device add /dev/sdf /

Größenänderungen: Wie schnell BTRFS Größenänderungen auf einem Volume oder einem Verbund erledigt, zeigt dieser Befehl:

sudo btrfs filesystem resize -10g /

Das verkleinert das root-Dateisystem um 10 GB.

Snapshot-Verwaltung: Open Suse kann mit dem Yast2-Snapper ein grafisches BTRFS-Werkzeug anbieten. Ansonsten bleibt BTRFS-Verwaltung ein Terminal-Job.
BTRFS bietet native, transparente Komprimierung. Um die Funktion für externe Datenträger dauerhaft zu aktivieren, genügt das Setzen einer „Property“ für den Mountpunkt.
Größenänderung mit BTRFS: Diese Aktion kostet keine Sekunde. Für den Befehl muss man nur den Mountpunkt kennen, nicht den oder die verwendeten Datenträger.

Windows-Dateisysteme unter Linux

Für eine Linux-Installation stehen die Windows-Dateisysteme NTFS, FAT32 und exFAT nicht zur Diskussion. Ganz anders sieht es bei externen Datenträgern aus, die unter verschiedenen Betriebssystemen und Geräten genutzt werden sollen.

Selbst kompromisslose Linux-Anwender sind gut beraten, auf das verbreitete Windows Rücksicht zu nehmen. USB-Sticks oder USB-Festplatten sind unter Windows schlicht nicht verwendbar, wenn die Datenträger mit einem Linux-Dateisystem formatiert sind (Ext, XFS, BTRFS, ZFS…). Die Windows-Reaktion „Sie müssen den Datenträger formatieren…“ ist borniert bis arrogant, weil Microsoft zweifellos in der Lage wäre, zumindest ein Ext4 einzubinden. Aber diese Weigerung ist seit Jahren Status Quo und wird sich auch nicht zeitnah ändern. Daher ist es fast unausweichlich, für mobile Laufwerke (eventuell auch in weiteren Situationen) auf ein Microsoft-Dateisystem auszuweichen.

FAT32: Limitiert, aber unkompliziert

Das alte FAT32 (seit 1996) hat gegenüber moderneren Nachfolgern nur einen großen Pluspunkt – es ist wirklich unter jedem PC-System (alte und neue Linux-, Windows-, Mac-OS-Versionen) lesbar und beschreibbar. Unterhaltungselektronik wie Smart-TVs, Hifi-Receiver oder Auto-Soundsysteme werden am USB-Port in jedem Fall einen FAT32-Datenträger einlesen. Sämtliche PC-Betriebssysteme können Datenträger auch selbst mit FAT32 formatieren. Da FAT32 außer zwei Zeitstempel keine Metadaten und keine Dateirechte anbietet, eignet es sich ausschließlich als Datencontainer insbesondere für USB-Sticks. Das Größenlimit für den Datenträger von 32 GB unter Windows ist künstlich (siehe unten).

4-GB-Datei-Limit: Entscheidender ist das FAT32-Limit für eine einzelne Datei von 4 GB. IMG- und ISO-Dateien überschreiten diese Größe häufig ebenso wie hochauflösende Filmdateien. Während Windows das Größenproblem im Falle des Falles sofort meldet, kopiert Linux bis zum Erreichen der Grenze und bricht erst dann mit einer Fehlermeldung ab. Für USB-Medien, die keine riesigen Imagedateien oder Filmdateien aufnehmen müssen, reicht FAT32 aber völlig aus.

32-GB-Datenträger-Limit: Bei USB-Sticks, -Festplatten, SD-Karten größer als 32 GB unterschlägt Windows beim Formatieren die Option „FAT32“ und schlägt nur „NTFS“ und „exFAT“ vor, als wäre dies bei Datenträgern dieser Größe technisch nicht anders möglich. Das müssen Sie nicht akzeptieren, wenn ein Linux im Haus ist. FAT32 kann problemlos auch große Datenträger verwalten, indem es einfach die Blockgröße entsprechend hochskaliert. Verwenden Sie etwa Gnome-Disks oder den KDE-Partitionmanager zum Formatieren. FAT32 erscheint dort in der Regel einfach als „FAT“, zum Teil auch erläutert als „Kompatibel mit allen Systemen…“.

USB-Medien mit Livesystemen / Multiboot-Livesystemen: Im Unterschied zu installiertem Linux laufen Linux-Livesysteme sehr wohl auf auch auf FAT32. In den meisten Fällen ist hier FAT32 sogar notwendig oder empfohlen. Tools wie Unetbootin (http://unetbootin.github.io/) zum Erstellen von Livesystemen oder Tools wie Yumi(www.pendrivelinux.com/yumi-multiboot-usb-creator) zum Einrichten von Multiboot-Livesystemen setzen eine FAT32-Formatierung schlicht voraus.

exFAT: „Großer“ Datenaustausch

exFAT ist ähnlich simpel wie FAT32 und besitzt keine Metadaten für Rechte. Entscheidender Unterschied zu FAT32 ist die unlimitierte Größe für Einzeldateien. Wer ISO/IMG-Images und Filme zwischen Linux und Windows austauschen will, kann mit exFAT auf USB- und SD-Datenträger wenig falsch machen. Nachdem der Dateisystemtreiber Einzug in den Linux-Kernel gefunden hat, ist exFAT unter Linux größtenteils ohne Nachhilfe nutzbar. Auch grafische Werkzeuge wie Gnome-Disks („Partition formatieren -> Andere -> exFAT“) bieten inzwischen direkte exFAT-Unterstützung, und Dateimanager laden entsprechende Datenträger automatisch. Ausnahme: Der Partitionierer Gparted hat exFAT zwar in seiner Dateisystemliste, will aber bislang nicht mit exFAT formatieren (inaktiv).

SDHX-Karten: Der jüngere SDHX-Standard bei SD-Karten, der sehr große Kapazitäten erlaubt, empfiehlt grundsätzlich eine Formatierung mit exFAT.

Exorbitante Blockgröße: Während sich normale Blockgrößen (Cluster) bei Dateisystemen im KB-Bereich bewegen, kann die maximale Blockgröße bei exFAT theoretisch bis zu 32 MB betragen! Aus diesem Grund kann das relativ einfache Dateisystem praktisch beliebig große Datenträger adressieren. Empirisch lassen sich unter Linux aber offenbar „nur“ maximal 4-MB-Blöcke einrichten, und dies auch nur im Terminal:

sudo mkfs.exfat -s 8192 /dev/sd[x][n]

Die von vier MB völlig abweichende Zahl „8192“ ergibt sich aus der Vervielfachung der kleinsten Einheit „1“, die 512-Byte-Cluster erstellt. Wenn von vornherein klar ist, dass ein Laufwerk ausschließlich sehr große Dateien aufnehmen wird, dann ist eine derart extreme Formatierung durchaus sinnvoll und beschleunigt alle Dateivorgänge. Für kleine Dateien bedeutet das hingegen pure Platzverschwendung. Dies gilt im Prinzip für alle Dateisysteme, ist aber bei dem ungewöhnlichen exFAT eine besondere Erwähnung wert.

Nachinstallation: Wo exFAT unter Linux tatsächlich noch fehlen sollte, ist es mit

sudo apt install exfat-fuse exfat-utils

schnell nachgerüstet (im Beispiel für Debian/Ubuntu & Co).

NTFS: Auf USB kontraproduktiv

Sofern nicht dumme Geräte der Unterhaltungselektronik berücksichtigt werden müssen, scheint NTFS auf den ersten Blick die beste Wahl für Austauschdatenträger. Das trifft aber nur bedingt zu. Externe USB-Datenträger mit NTFS-Formatierung rangieren unter Linux im Prinzip als rechteloses FAT-Dateisystem: Wenn Linux-Standardbenutzer – Systemverwalter sowieso – externe Geräte ein- und aushängen, erhalten sie auf NTFS-Partitionen (wie auf FAT32 oder exFAT) vollen Lese- und Schreibzugriff. Das sollte zunächst auf einem Austauschdatenträger nicht stören, kann aber erheblich stören, wenn von Windows-Seite spezielle NTFS-Eigenschaften aktiviert wurden. Dateien, für die etwa unter Windows Komprimierung oder Verschlüsselung angefordert wurde, werden unter Linux nicht ankommen. Andererseits wird Linux eingestellte NTFS-Benutzerrechte ignorieren.

Mit anderen Worten: NTFS ist als Austauschformat solange in Ordnung, als seine eigentlichen Fähigkeiten nicht genutzt werden und es nur als unkompliziertes Containerformat dient. Dann kann man aber gleich zum simplen FAT32 oder exFAT greifen.

FAT32 / exFAT und Samba-Freigaben

Datenträger mit rechtelosen Dateisystemen per Samba freizugeben, ist ein absoluter Komfort-Tipp für faule Heim-Administratoren. Dateirechte fallen komplett weg und es zählen nur noch die Netzwerkrechte, die in der Samba-Konfigurationsdatei (/etc/samba/smb.conf) mit wenigen Zeilen definiert sind:

[exfat]
path = /media/sepp/toshiba 
write list = sepp 
browseable = yes 

Wer sich als „sepp“ ausweisen kann (Benutzer- und Samba-Konto sind natürlich Voraussetzung), kann auf dieser (exFAT-) Freigabe mit vorhandenen und neu erstellten Dateien machen, was er will.

exFAT unter Linux: Das Microsoft-Dateisystem (ohne Dateirechte) überwindet das 4-GB-Limit von FAT32 für einzelne Dateien und ist auf modernen Linux-Desktops weitgehend Standard.
Künstliches FAT32-Limit: Ab 32 GB Kapazität bietet Windows nur noch „NTFS“ oder „exFAT“. Linux kann auch große USB-Datenträger mit FAT32 formatieren.
Arrogante Reaktion auf Ext, XFS, BTRFS & Co: Datenträger mit Linux-Dateisystemen will Windows nicht lesen, sondern formatieren (vernichten).
Extrem: exFAT kann 4-MB-Blöcke (Cluster) einrichten, was dann für jede winzige Datei 4 MB Speicher kostet, aber bei durchgehend riesigen Dateien den Zugriff beschleunigt.

Systemd und Systemctl

Systemctl ist das wichtigste Werkzeug zur Kontrolle und Steuerung des Linux-Dienstes Systemd – aber nur eines von vielen. Der Funktionsumfang dieser Tools ist so beeindruckend (und anstrengend) wie der generelle Allmachtsanspruch von Systemd. Der primäre Init-Daemon Systemd herrscht über alle weiteren Systemprozesse und hält für den Benutzer eine ganze Palette von Tools bereit, wie die nachfolgende Liste zeigt:

Eine nähere Auseinandersetzung mit systemd und seinen Steuerungsprogrammen ist mittlerweile alles andere als ein Nischenthema, nachdem fast alle namhaften Linux-Distributionen systemd verwenden, unter anderen Arch, Debian, Fedora (und Red Hat Enterprise sowie Cent OS), Mageia, Mandriva, Opensuse (und Suse Enterprise), Siduction, insbesondere aber auch Ubuntu mit sämtlichen Derivaten (wie Mint, Peppermint, Chromium, Netrunner, Bodhi, Elementary, Zorin…). Dieser Init-Prozess systemd ist allerdings ein Kosmos für sich – ein logischer, aber hochkomplexer mit Allmachtsanspruch, und dabei reichlich verkopft. Von den uferlosen Kommandos und Optionen werden selbst professionelle Administratoren kaum 10 Prozent im Alltag benötigen und höchstens fünf Prozent verinnerlichen. Natürlich ist das gesamte Potential ein Fall für das Terminal, wobei Infobefehle in der Regel mit Benutzerrecht arbeiten, Änderungen jedoch „sudo“ erfordern. Grafische Frontends wenigstens für die allerwichtigsten Funktionen sind in Arbeit, aber bislang ist keines über die Beta-Phase hinausgekommen, weswegen wir dazu auch keine Empfehlung abgeben.

Systemd-Werkzeuge: Eine Übersicht

Der einfachste und fast alternativlose Weg, sich über den enormen Toolbestand von systemd zu informieren, ist der Blick in das Gesamtpaket:

dpkg-query -L systemd

Neben systemctl treffen Sie hier auf eine Armee von Hilfsprogrammen. Die man-Pages aller systemd-Werkzeuge könnten mühelos eine komplette LinuxWelt füllen – und dabei ist Vieles noch unzureichend kommentiert. Die nachfolgenden Beispiele beschränken sich auf wenige alltagstaugliche Aufgaben.

networkctl

zeigt zunächst nur die Netzwerksschnittstellen. Wenn Sie dort erfahren, dass der Ethernetadapter „eth0″ oder “ enp2s0″ heisst, dann erfragen Sie mit

networkctl status enp2s0

alle Parameter von der IP- und MAC-Adresse bis zu MTU, Speed und Gateway-Adresse (Router) oder noch ausführlicher mit

networkctl status enp2s0 --stats

zusätzlich die gesendeten und empfangenen Bytes. Das eher funktionsarme Kommando hostnamectl zeigt ohne Parameter

hostnamectl

den Hostnamen des Rechners sowie auch einige Basisinfos zu System, Kernel und Architektur. Mit dem Befehl

hostnamectl set-hostname bolide

vergeben Sie umstandslos einen neuen Rechnernamen.

Systemd für Netzwerkabfragen: Hier wie in vielen anderen Belangen haben traditionelle Tools eigentlich ausgedient.

Journalctl:  Dieses Tool ist ein sehr präzises Werkzeug, um das Systemprotokoll zu zeigen, zu filtern und zu bearbeiten. Da eine ungefilterte Ausgabe des Journals uferlos ausfällt, eignen sich zur Analyse folgende Filteroptionen: Die Befehle

journalctl --boot
journalctl --since today

bringt nur die Meldungen seit dem letzten Systemstart beziehungsweise die des heutigen Tages. Nach journalctl –list-boots kann auch jede beliebige Boot-ID mit journalctl –boot [ID] abgefragt werden. Ebenfalls systematisch ist die Eingrenzung nach einem Systemdatum

journalctl --since "2020-09-18"

oder zusätzlich nach einem bestimmten Ereignislevel:

journalctl --priority "crit" --since
"2020-09-18"

Priority-Level wie hier („crit“) können durch ein Schlüsselwort oder durch eine Kennziffer übergeben: „emerg“ (0), „alert“ (1), „crit“ (2), „err“ (3), „warning“ (4), „notice“ (5), „info“ (6), „debug“ (7). Ein Level kumuliert immer alle Meldungen der niedrigeren Stufen, das heißt: „crit“ (2) präsentiert auch die Level 0 und 1.

Wer genau weiß, wo er ein Problem zu suchen hat, kann auch gleich nach dem betreffenden Dienst („unit“) eingrenzen. Die Protokollausgabe von

journalctl --unit apache2.service --since
"2020-08-01"

zeigt alle Meldungen des Apache-Servers ab dem angegebenen Datum.

Nicht zuletzt kann journalctl den Umfang der Systemprotokollierung steuern. Mit

journalctl --disk-usage

fragen Sie die den aktuellen Umfang ab. Befehle wie

journalctl --vacuum-size=300M
journalctl --vacuum-time=30d

können das Journal auf 300 MB reduzieren oder auf die Aufzeichnung der letzten 30 Tage kürzen. Wer dies nicht manuell erledigen will, kann auch die /etc/systemd/journald.conf ändern, um ein solches Limit dauerhaft einzustellen.

Homectl: Dieses hochkomplexe Tool ist ein großes Versprechen, weil es das Home-Verzeichnis portabel macht und etwa auf einem USB-Laufwerk einrichtet:

homectl create linux --real-name="Linux Welt"
--image-path=/dev/disk/by-id/usb-WD_My_Passport_476fff954b2b5c44-0:0

Solche Homes können dann nach Bedarf am System ein- und ausgehängt werden. Alle Probleme bei Dateisystemen und Benutzerrechten sind aber offenbar noch nicht gelöst, sodass homectl derzeit noch auf den allermeisten Distributionen fehlt.

Weitere Beispiele: Ein weiteres systemd-Werkzeug hat gewisse Popularität erreicht, da es Startprobleme, also Verzögerungen des Systemstarts, in aller Präzision offenlegt. Die simpelste Form („time“ kann auch entfallen)

systemd-analyze time

zeigt nur eine knappe Angabe zur Dauer des Systemstarts, differenziert aber bereits Bios/Firmware, Bootloader, Kernel und Benutzerkonto. Die Befehle

systemd-analyze blame
systemd-analyze plot > start.svg
systemd-analyze dump > dump.txt

bringen in unterschiedlicher Darstellung die millisekundengenaue Abfolge des Systemstarts, wobei mindestens die Option „dump“ über das Informationsbedürfnis normaler Anwender deutlich hinausgeht.

Wer sich über die geltenden Systempfade und ihre Funktion informieren will, ist mit dem einfachen Befehl

systemd-path

bestens beraten. Eine ebenfalls vergleichsweise einfache Funktion erfüllt dieses Kommando (Beispiel):

systemd-cat lsblk

Eigentlich ist systemd-cat ein interner Befehl für systemd-Dienste, um an das Systemjournal zu berichten. Der Benutzer kann dies aber auch manuell tun: Die Befehlsausgabe von lsblk würde hier an das Journal angehängt und kann mit journalctl jederzeit wieder abgefragt werden.

Startanalyse mit systemd: Dieser Befehl entwickelt sich zum verbreiteten Standard, um Startverzögerungen von Linux-Systemen zu ermitteln.

Basis-Kommandos von Systemctl

Systemctl ist aktuell das wichtigste und mächtigste Werkzeug von systemd. Die lehrbuchmäßige Syntax folgt – wie bei allen systemd-Tools – diesem Muster:

systemctl Befehl [--Option]

Einige besonders einfache, aber nützliche Systemkommandos wie

systemctl poweroff 
systemctl suspend
systemctl rescue

benötigen keine weiteren Optionen. Typischer ist folgendes konkrete Beispiel:

systemctl list-units --type=service
Gute Übersicht bei geänderten Systemdiensten: Die Spalte „Vendor Preset“ informiert über den Standard der jeweiligen Distribution

Dies liefert eine Übersicht der laufenden und beendeten Dienste. Dieser Befehl ist nicht so weit entfernt vom altgedienten service –status-all, ist aber auch nur ein Vorgeschmack der Möglichkeiten. Der Filter „–type=service“ zeigt schon, dass systemctl eine wesentlich größere Reichweite hat. Weitere „unit“-Klassen sind „socket“, „device“, mount“, „automount“, „swap“, „target“, „path“, „timer“, „snapshot“, „slice“ und „scope“. Das Kommando ohne weitere Filter

systemctl list-units

zeigt alle Systemd-Klassen. Wir müssen uns im Folgenden auf wenige Beispiele zur Dienste-, Target- und Timer-Verwaltung beschränken. Beachten Sie, dass jede einzelne Unit ihre eigene Konfigurationsdatei besitzt, die mit

systemctl edit --full [unit.name]

bearbeitet werden und folglich auch vom Systembenutzer selbst angelegt werden kann.

Target-Units: Um alle geladenen „targets“ aufzulisten, ist dieser Befehl geeignet:

systemctl list-units --type=target --state=loaded

Hier tauchen dann unter anderem „emergency“ oder „rescue“ als inaktive „targets“ auf. Das Kommando

systemctl isolate rescue.target

ist eine gravierende Aktion, da sie ohne Umschweife in die Wiederherstellungskonsole führt und „isolate“ alles beendet, was für das angeforderte „target“-Ziel nicht benötigt wird. Ein weiterer praxisnaher Einsatz von systemd-„targets“ ist der Wechsel vom Desktop- zum Serverbetrieb. Wenn ein Desktop läuft (multi-user.target), aber auf einem Server unnötig ist, dann schaltet

systemctl set-default multi-user.target

die Oberfläche ab und spart damit viel Ressourcen. Der Befehl

systemctl set-default graphical.target

kann den Desktop wieder einschalten.

Service-Units: Die wichtigsten Befehle zur Diensteverwaltung lauten wie folgt:

systemctl status [name].service
systemctl stop [name].service
systemctl start [name].service
systemctl restart [name].service

Diese Kommandos, angewandt etwa konkret auf den Dienst ssh.service, sind weitgehend selbsterklärend. „stop“ und „start,“ oder einfacher „restart“ sind häufig erforderlich, wenn der betreffende Dienst eine Konfigurationsänderung neu einlesen und berücksichtigen soll. Zum nachhaltigen Beenden eines Dienstes ist diese Abfolge einzuhalten:

systemctl stop [name].service
systemctl disable [name].service
systemctl mask [name].service

„disable“ deaktiviert einen Dienst, verhindert aber nicht, dass diesen ein anderer Systemdienst unter der Haube neu aktiviert. Der „mask“-Befehl macht auch dieses unmöglich. Gegebenenfalls kann

systemctl unmask [name].service

den Dienst wieder zugänglich machen.

Diverse Dienste zeigen als Status den Eintrag „static“. Diese lassen sich weder stoppen noch deaktivieren. In dieser LinuxWelt finden Sie im Special „Linux in Tabellen“ auch eine Tabelle mit den typischen Linux-Diensten: Die knappe Übersicht informiert, welche Dienste eventuell entbehrlich sind.

Eingriffe in die Systemdienste sind immer heikel, aber systemctl kann diese nicht nur erledigen, sondern bietet auch gute Kontrolle. Eine hervorragend lesbare Übersicht mit farbigen Markierungen („disabled“ rot, „enabled“ grün) zeigt dieser Befehl, der nicht die Dienste, sondern die darunterliegenden Konfigurationsdateien abfragt:

systemctl list-unit-files --type=service

Zusätzlich zur Farbmarkierung erscheint in der rechten Spalte die Distributionsvorgabe („Vendor Preset“). Somit erkennt man sofort, was am System nachträglich geändert wurde.

Timer-Units: Systemd ist auf dem Weg, zahlreiche alte Zöpfe abzuschneiden. Dienste, Netzwerk, Geräte, Umgebungsvariablen, Mount-Aktionen sind ebenso betroffen wie die alten Cronjobs, denn systemd kann auch zeitgesteuerte Aufgaben übernehmen („timer“). Ganz trivial ist das allerdings nicht, denn damit steckt man mitten in der systemd-Verwaltung. Der Aufbau einer Timer-Unit sieht etwa so aus:

  • [Unit]
  • Description=Backup
  • [Timer]
  • OnCalendar=10:00
  • [Install]
  • WantedBy=basic.target

Die Zeitsteuerung geschieht im Abschnitt “Timer”. Die Beispieleinträge bedeuten, dass der Job „Mein Backup“ täglich um 10 Uhr ausgeführt wird, und die Install-Sektion stellt mit „basic.target“ klar, dass der Job immer ausgeführt werden soll. Nun muss aber unter /etc/systemd/system für jede Timer-Unit (etwa fstrim.timer) eine gleichlautende Service-Unit existieren (fstrim.service). Diese Datei enthält dann als „ExecStart=…“ das Kommando oder Script, das periodisch ausgeführt werden sollen. Diese Datei könnte dann so aussehen:

  • [Unit]
  • Description=Backup
  • [Service]
  • ExecStart=/home/lw/backup.sh

Um einen so definierten Timer interaktiv zu laden, hilft wieder systemctl:

systemctl start backup.timer

Der weitere Befehl

systemctl enable backup.timer

aktiviert die neue Timer-Unit dauerhaft.

MX Linux (19.2)

August 2020: Seit Monaten herrscht auf Platz 1 der Rangliste von Distrowatch eine Distribution, der man eigentlich nur eine Nischendasein zutraut: MX Linux. Was sind die Gründe für das offensichtlich große Interesse an diesem System?

MX-Linux
MX Linux: Ein sehr hübscher XFCE-Desktop auf Debian Stable, eine Vielzahl von Desktop- und Systemtools sowie Spezialisierung für den Live-Betrieb sind die Kennzeichen dieses Systems.

Die nur auf sich selbst bezogene Klickperformance von distrowatch.com sollte niemand überschätzen. Platz 1 auf Distrowatch ist kein Indiz für die tatsächliche Verbreitung einer Linux-Distribution. Dennoch ist dies für uns Anlass genug, einen genaueren Blick auf MX Linux zu werfen. MX Linux wurde im Frühsommer auf Version 19.2 aktualisiert, erhielt aber schon vorher diese erstaunliche Beachtung. Die Heft-DVD liefert MX Linux 19.2 in der 64 Bit-Variante mit. Die 32-Variante sowie eine Spezialvariante für sehr alte Hardware erhalten Sie unter https://mxlinux.org/download-links/.

Was kennzeichnet MX Linux?

Die Basisrezeptur von MX Linux ist nicht aufregend: Die Systembasis stellt ein konservatives Debian Stable 10 („Buster“), und als Desktop arbeitet ein ebenso konservativer XFCE 4.14. Linux-Kernel und vorinstallierte Software sind nicht mehr taufrisch, aber halbwegs aktuell. Der MX-eigene Installer ist funktionsarm und eigentlich nur für die Installation als alleiniges System zu empfehlen, Systemverschlüsselung mit Cryptsetup ist aber komfortabel integriert. Im installierten MX Linux finden Sie für die Softwareverwaltung die relativ spröden Alternativen MX Paket-Installer (mit Flatpak-Integration) oder Synaptic oder den noch spröderen Antix-Terminalinstaller oder schlicht das Terminalprogramm apt. Bei systemnahen Aktionen muss der Nutzer zwischen sudo-Benutzerkonto und root-Konto unterscheiden – in vielen Fällen ist tatsächlich das root-Konto notwendig. Ebenfalls ungewöhnlich ist, dass Sie bei größeren Updates eventuell erneut nach dem Ort des Grub-Bootloaders befragt werden – in der Regel „sda“. Die Software-Ausstattung ist opulent, die Fülle der zusätzlichen, zahlreichen Systemtools aber erst einmal unübersichtlich bis verwirrend, zum Teil redundant.

System- und Desktop-Werkzeuge: Damit sind wir aber an dem Punkt, wo die Waage bei MX Linux ins Positive kippt: Die Distribution ist mit Sorgfalt und Liebe zum kleinsten Detail ausgestattet, der XFCE-Desktop zeigt sich bereits ab Installation von seiner feinsten Seite. Aber die vielen MX-eigenen System- und Einstellungstools fördern darüber hinaus die Anpassung zu einem individuellen Desktop. Die „Einstellungen“ des Xfce4-Settings-Manager gehen über den üblichen Umfang deutlich hinaus: Neben eingebauten externen Tools wie System-Config-Samba (grafische Samba-Verwaltung) kommen vor allem MX-Eigenentwicklungen hinzu. „MX-Tweak“ ist einschlägig für die optimale Bildschirmskalierung (neben dem üblichen „Anzeige“-Applet), „MX-Werkzeuge“ (mx-tools) präsentiert eine opulente Sammlung von Systemwerkzeugen. Manches ist marginal, manches wie das Löschtool MX-Cleanup oder der MX-Menü-Editor auch in besserer Ausführung zu finden, aber unterm Strich bietet die Toolsammlung wirklich alles, was man an System- und Anpassungswerkzeugen erwarten kann. Die Sammlung von Conky-Desktopinfos (auswählbar mit dem Conky Manager) oder die grafische Bearbeitung der Bash-Konfiguration tendieren zu Detailverliebtheit. Handfester sind der „Benutzer-Manager für MX“, grafische Hilfen zur Bootreparatur („MX Bootreparatur“) und zur Anpassung des Grub-Bootmanagers („MX Boot Optionen“).

Ein weiteres Werkzeugpaar erscheint in der Sammlung der MX-Tools an oberster Stelle und nennt sich „MX Schnappschuss“ und „MX Live USB Erzeugung“. Es ist nicht auszuschließen, dass diese Tools einen Teil zur Popularität von MX Linux beitragen. Der Schnappschuss schreibt ein komplettes, angepasstes System in eine ISO-Datei, das dann mit dem zweiten Tool auf USB übertragen wird. Das Ergebnis ist ein perfekt ausgestattetes Livesystem auf USB. Ähnliches ist mit Linux auch auf anderen Wegen erreichbar, aber nirgendwo einfacher als hier.

Semi Rolling: MX Linux ist ein Semi-Rolling-Release – ein Kompromiss zwischen „Regulär“ und „Rolling“. Anders als bei regulären Distributionen wie Ubuntu & Co gibt es hier zwischendurch neue Software-Versionen, allerdings nur für Pakete, die größere Entwicklungssprünge gemacht hat – dies ist der Unterschied zu einem echten „Rolling Release“. Ziel ist es, einerseits höhere Aktualität zu bieten, andererseits Pannen durch Upgrades zu minimieren. Solange dies funktioniert, müssen Sie MX Linux niemals neu installieren.

MX-Installer
Das Installationsprogramm von MX Linux: Die Einrichtung als alleiniges System bereitet kein Kopfzerbrechen.

Die Einrichtungsvarianten

MX Linux charakterisiert sich als mittelschweres System (https://mxlinux.org/). Dies ist wohl seiner Nachbarschaft zu Antix Linux geschuldet (https://antixlinux.com/), mit dem es in enger Kooperation steht. Antix definiert sich eindeutig als Recycling-Spezialist für Hardware-Oldies. MX Linux ist aber bei allem Anpassungskomfort ein ebenfalls sehr genügsames und auch auf älterer Hardware agiles System. Bei kaum 450 MB Eigenbedarf für die 32-Bit-Variante sollte theoretisch schon ein GB RAM genügen. Ältere Notebooks mit 2 bis 4 GB sind ein ideales Ziel für die Distribution.

Ordentliche Installation: Die Einrichtung als alleiniges System ist nicht kompliziert: Im Bootmenü des Livesystems wählen Sie mit F2 die Sprache „Deutsch“ und mit F3 die Zeitzone „Berlin“. Dann starten Sie den obersten Eintrag „MX-19.2“. Eventuelle Fragen nach der Grafikkarte quittieren Sie ohne Auswahl mit Eingabetaste, starten zum Desktop des Livesystems und klicken auf den Installer-Link am Desktop. Als „Art der Installation“ wählen Sie „Automatische Installation“, womit MX Linux die gesamte Festplatte „sda“ übernehmen darf. Neben den Daten für den Erstbenutzer, die Sprache und die Zeitzone will der Installer ein root-Kennwort, einen Computernamen sowie die Samba-Arbeitsgruppe und einen Domain-Namen. Das Prozedere ist umständlicher als von Ubuntu & Co gewöhnt, aber letztlich pragmatischer, als diese Einstellungen später im laufenden System zu suchen. Zu diesem Installer-Konzept passt, dass man optional auch schon Standarddienste vorab ein- oder ausschalten kann.

Live-Betrieb auf USB: MX Linux ist nach dem Vorbild von Antix auch für den Live-Betrieb spezialisiert und läuft auch auf älterem USB 2.0 flüssig. Auf die Möglichkeit, mit zwei MX-Tools ein installiertes System im Handumdrehen auf USB zu befördern, haben wir bereits hingewiesen. Wenn dies der geplante Einsatz sein soll, ist es am besten, MX Linux als virtuelle Maschine unter Virtualbox oder Vmware zu installieren und anzupassen und daraus nach Bedarf ein neues Livesystem zu bauen. Das virtuelle System kann durch Updates aktualisiert werden.

Die Spezialisierung für den Live-Betrieb geht allerdings weiter: MX zeigt als Livesystem im Bootmenü den Punkt „Persist“, der mit F5 ausgeklappt werden kann. Von den vielen angezeigten Optionen empfehlen wir „persist_root“, da alle anderen Möglichkeiten entweder langsam sind oder einen lästigen Fragenkatalog mitbringen. Die Option speichert Änderungen am System im RAM, und beim Herunterfahren müssen Sie die Übernahme dieser Daten ins Livesystem explizit bestätigen. Damit ist ein flexibles MX Linux auch im Live-Betrieb möglich. Für große Änderungen empfehlen wir aber erneutes Remastern eines installierten Systems.

MX-Persistenz
Einsatz als Livesystem: Im Live-Betrieb bietet MX Linux diese Persistenzoptionen, um Systemänderungen zu speichern. Eine Kurzhilfe dazu finden Sie mit F1 unter „Hilfe“.

Knoppix: Der Live-Klassiker

Livesysteme sind nicht rar: Moderne Linux-Distributionen kombinieren das Installationsmedium mit einem Livesystem, das sich zum Ausprobieren, zum Hardware-Test und zur Reparatur eignet. Der Allrounder Knoppix behält dennoch seine Berechtigung.

„Initiating startup sequence“ meldet eine Frauenstimme beim Desktopstart. Extravagante Compiz-Effekte im Standard-Desktop LXDE mit „wackeligen“ Fenstern und wechselnde Knoppix-Screensaver garnieren den Desktop. Darunter wartet eine unfassbar umfangreiche Software-Sammlung auf ihren Einsatz – eine Sammlung mit nützlichsten Werkzeugen für Netzwerk, Surfen, Office, Medien, Reparaturen, die allerdings auch vor fragwürdiger B-Ware und funktional redundanten Dubletten nicht zurückschreckt.

Das nach Klaus Knopper benannte Knoppix ist eine ganz spezielle Distribution – und dabei in der technischen Basis vom Feinsten. Das Livesystem bootet praktisch auf jedem alten wie neuen Rechner, hat einen absolut zuverlässigen Assistenten zur Einrichtung und kann optional Daten und Einstellungen durch Verschlüsselung schützen. Das inzwischen fast 20 Jahre gereifte Debian-Linux ist der Live-Klassiker: Knoppix ermöglichte den Live-Betrieb lange vor den heute verbreiteten Live-Installationsmedien von Ubuntu & Co. Mit exzellenter Hardware-Erkennung, deutschsprachiger Arbeitsumgebung, opulenter Software-Ausstattung und variabler Einrichtung bleibt Knoppix die erste Wahl für ein universelles Zweitsystem auf USB.

Download und Einrichtungsvarianten

Knoppix-Downloads werden via http://www.knopper.net/knoppix-mirrors/ hauptsächlich über Universitäten angeboten. Der Download der aktuellsten Version 8.6 (Mitte 2019, inzwischen 9.1) beträgt circa 4,3 GB. Eine schlanke CD-Version (ca. 700 MB) gibt es zwar auch noch, wird aber seit 2013 nicht mehr gepflegt und stagniert seither bei Version 7.2. Es empfiehlt sich also der Griff zur großen DVD-Variante. Achten Sie in der Liste der ISO-Dateien auf „-DE“ im Dateinamen (KNOPPIX_V8.6-2019-08-08-DE.iso), um das System mit deutscher Benutzerführung herunterzuladen.

Knoppix live: Ungeachtet mancher irreführender Hinweise ist das originale Knoppix-ISO nicht auf den DVD-Start reduziert, sondern bietet eine moderne, hybride Startumgebung. Ein Zwischenschritt über einen DVD-Rohling ist daher nicht nötig, Knoppix bootet auch von einer Rohkopie auf USB-Stick. Als Werkzeug für diese Rohkopie taugen die üblichen Tools wie dd, Gnome-Disks („Laufwerksabbild wiederherstellen“), Etcher (https://etcher.io) oder der Win 32 Disk Imager unter Windows.

Nach dem Schreiben als Rohkopie ist Knoppix ein pures Livesystem, das keinerlei Änderungen speichert – egal ob auf DVD oder auf USB. Das Dateisystem wird in den Arbeitsspeicher geladen und somit gehen die in der Sitzung getätigten Änderungen beim Herunterfahren wieder verloren. Typischerweise erkennen Sie ein laufendes Live-System mit dem mount-Befehl im Terminal, der ein „loop0“-Device, ein „cloop“-Device (komprimiert), ein „squashfs“ (komprimiert) oder auch ein „aufs“-Dateisystem anzeigt (Another Union File System). Im Falle von Knoppix gibt es mehrere cloops- und unionfs-Geräte.

Das originale Knoppix live ist ausreichend, wenn Sie gelegentlich ein transportables Zweitsystem für Reparaturen, Surfen oder Spielen benötigen.

Knoppix live mit Overlay-Partition: Die ideale Knoppix-Einrichtungsvariante für den Dauerbetrieb ist der Einsatz einer zusätzlichen, beschreibbaren Overlay-Partition. Diese speichert und transportiert nicht nur persönliche Dokumente, sondern erlaubt auch dauerhafte Anpassungen, Installation, Deinstallationen. Diese Variante ist nach unserer Kenntnis nur aus einem bereits laufendem Knoppix zu erreichen, dies aber ganz einfach: Das maßgebliche Tool liegt standardmäßig als Link „Flash Knoppix“ auf dem Desktop. Im Menü ist es unter „Knoppix -> Knoppix auf Flash kopieren“ zu erreichen. Wie der Name sagt, ist „Flash Knoppix“ der Installationsassistent für Kopien auf beschreibbare USB- und SD-Medien, kann aber auch für die Einrichtung auf Festplatten genutzt werden.

1. Der erste Dialog fragt ab, ob nur Wechselmedien oder auch interne Festplatten als Ziel infrage kommen. Je nach Ihrer Antwort ermittelt das Tool anschließend die passenden Datenträger. Das Medium, auf dem Knoppix gerade läuft, wird erfreulicherweise nicht angeboten – ein logischer, aber nicht selbstverständlicher Service des Tools.

2. Nach Auswahl des gewünschten Zieldatenträgers wählen Sie die Option „Installation auf FAT32 mit zusätzlicher Overlay-Partition“. Um das Dateisystem FAT32 der Systempartition müssen Sie sich nicht kümmern, dafür sorgt das Tool automatisch. Die Overlay-Partition („Knoppix-Data“) erhält das Dateisystem ReiserFS.

3. Die nächste Abfrage „Möchten Sie Knoppix remastern?“ ist nur relevant, wenn Sie das Knoppix-System, mit dem Sie gerade installieren, bereits individuell angepasst haben. Mit anderen Worten: Wenn Sie gerade Ihr erstes Knoppix mit Overlay-Partition erstellen, beantworten Sie die Frage mit „Nein“. In einem späteren, angepassten Knoppix ist diese Option jedoch umso wichtiger: Mit der Antwort „Ja“ erreichen Sie, dass Ihre nächste Knoppix-Kopie wieder alle persönlichen Einstellungen mitbringt.

4. Die Abfrage zur Größe der Overlay-Partition können Sie auf einem USB-Stick normaler Größe einfach mit „OK“ übernehmen. Dann erhält die Overlay-Partition auf dem Stick die komplette Restkapazität, die das eigentliche Knoppix-System übriglässt. Bei Installation auf Festplatte schränken Sie die Größe mit dem Schieberegler auf Wunsch ein.

5. Die letzte Frage betrifft den optionalen Verschlüsselungsschutz der Overlay-Partition. Es handelt sich um die einzige Möglichkeit, ein Knoppix-System systemweit zu schützen. Knoppix als Livesystem hat nämlich keine Benutzerverwaltung. Der Live-User „knoppix“ kommt ohne Anmeldung an den Desktop und ist sudo-berechtigt. Wählt man bei der Einrichtung hingegen die Verschlüsselung, dann stoppt später der Bootvorgang relativ früh (vor dem Umschalten in den grafischen Textmodus) und fragt nach dem Kennwort („passphrase“). Dieses muss ohne Feedback eingegeben werden. Ein Start des Systems ohne Kennwort ist nicht möglich; ebenso erfolglos bleibt der Versuch, die Daten mit einem Fremdsystem auszulesen. Diese Verschlüsselung ist für USB-Sticks sehr zu empfehlen, umso mehr, wenn die Overlay-Partition nicht nur Systemeinstellungen, sondern auch persönliche Daten speichert.

Knoppix auf Festplatte: Trotz ausufernder Software und verspielter Effekte ist Knoppix mit seinem pragmatischen Standarddesktop LXDE äußerst bescheiden und fordert nur circa 300 MB RAM für System plus Oberfläche. Damit ist Knoppix mit LXDE, eventuell auch mit KDE, auch ein geeigneter Kandidat für eine Festplatteninstallation auf älteren Notebooks/PCs. Der dafür vorgesehene Assistent unter „Knoppix -> Knoppix HD-Installation“ ist im Vergleich mit dem Tool „Flash Knoppix“ allerdings konfus, fehlerträchtig, wahrscheinlich fehlerhaft. Wir raten definitiv davon ab und empfehlen auch für die Festplatteninstallation das Tool „Flash Knoppix“. Dabei erhalten Sie ein Livesystem mit üppiger Overlay-Partition, das im Alltag wie ein normal installiertes Linux arbeitet – nur ohne Benutzerkonten und Anmeldesicherung. Die Overlay-Partition erhält das Dateisystem ReiserFS, das keinerlei Beschränkungen für Dateigrößen besitzt. Die fehlende Benutzersicherheit können Sie bei der Einrichtung durch die Verschlüsselungsoption kompensieren.

Das wichtigste Knoppix-Tool: Nicht ohne Grund ist „Flash Knoppix“ Dauergast auf dem Desktop. Damit machen Sie aus einem Livesystem ein flexibles Linux.
Empfohlene Einrichtungsvariante mit Persistenz: Die Overlay-Partition ermöglicht dem Livesystem Desktop-Anpassungen, Installationen und Deinstallationen.

Entscheidungen bei der Einrichtung: „Remastern“ ist praktisch, wenn bereits ein angepasstes (Overlay-) Knoppix vorliegt, das identisch kopiert werden soll. Verschlüsselung kompensiert die fehlende Benutzersicherheit.

Knoppix individuell einrichten

Mit Overlay-Persistenz erlaubt Knoppix Anpassungen aller Art, auch Nachinstallationen und Entfernen überflüssiger Pakete. (De-) Installationen sind über Apt im Terminal zu realisieren, auf Wunsch auch über „Einstellungen -> Synaptic-Paketverwaltung“. Voraussetzung ist zunächst das übliche

sudo apt update

zum Einlesen der Paketquellen. Danach können Sie aufräumen

sudo apt remove cheese evolution gerbera scribus […]

oder auch Fehlendes nachrüsten.

Um das sehr umfangreiche Hauptmenü nicht für jeden Software-Favoriten bemühen zu müssen, empfiehlt sich nach Rechtsklick auf die „Anwendungsstartleiste“ die Einrichtung der wichtigsten Programme in der Hauptleiste. Alternativ sind auch Desktop-Links möglich, indem Sie im Hauptmenü nach Rechtsklick auf ein Tool die Option „Der Arbeitsfläche hinzufügen“ nutzen.

Wenn Sie den Knoppix-LXDE-Desktop versachlichen möchten, finden Sie mit „Einstellungen -> CompizConfig-Einstellungsverwaltung“ unter „Effekte“ die zuständigen Optionen. Zumindest die „wackeligen Fenster“ sind nicht jedermanns Geschmack. Weitere LXDE-Anpassungen zeigen die „Einstellungen“ unter „Desktop-Einstellungen“ und „Erscheinungsbild anpassen“.

Knoppix hat neben LXDE noch zwei weitere Desktops an Bord. Alternativ lassen sich auch die anspruchsvolleren Oberflächen Gnome 3 oder KDE Plasma 5 starten, dies aber, da es keine Systemanmeldung gibt, nur im laufenden System über den Menüpunkt „Knoppix-Desktop Auswahl/Neustart“. Gnome halten wir unter Knoppix für unproduktiv, weil die opulente Software-Ausstattung in der großen Gnome-Anwendungsübersicht sehr unübersichtlich wird. Außerdem ist der Gnome-Desktop für USB-Sticks (2.0) eine erhebliche Last. KDE Plasma ist mit seinem durchsuchbaren Hauptmenü die bessere und schlankere Alternative. Knoppix startet künftig so lange mit einem einmal gewählten Desktop, bis Sie über den genannten Menüpunkt wieder zu einer anderen Oberfläche wechseln.

Der schlanke LXDE-Desktop ist Knoppix-Standard. Von den angebotenen Alternativen Gnome und KDE ist nur KDE zu empfehlen.

Die interessantesten Knoppix-Tools

Das wichtigste Knoppix-Werkzeug ist „Flash Knoppix“, das wir bereits im obigen Punkt ausführlich beschrieben haben. Das Menü „Knoppix“ versammelt aber eine Reihe weiterer nützlicher Tools: Mit „Knoppix -> Netzlaufwerke suchen/mounten“ startet das System eine sehr zuverlässige Suche nach Samba-Freigaben. Zur Verbindung zu einem der dann angezeigten Server ist dann nur noch die Eingabe des Kontonamens und des Samba-Passworts nötig. Die danach automatisch eingehängte Freigabe erscheint im Dateimanager.

Umgekehrt kann Knoppix auch schnell mal selbst Daten freigeben. Während sich das veraltete Script Sambastart („Knoppix -> Samba Server“) in einer Endlosschleife verfängt, gelingt der Start des SSH-Servers über „Knoppix -> SSH Server starten“ problemlos. Zugriff erhält das Konto „knoppix“ mit dem zu vergebenden Kennwort. Linux-Rechner im lokalen Netz können sich dann mit dem Dateimanager und der Adresse „sftp://[IP-Adresse]“ bequem verbinden. Für Windows-Rechner ist der Datenzugriff über typische SSH-Clients wie Putty etwas umständlicher, weil man dann – etwa über den Midnight Commander – erst eine Shellverbindung zu einem dritten Rechner als Übergangsstation aufbauen muss.

Die Option „Knoppix -> TOR Proxy“ bereitet den Weg in das anonymisierende Tor-Netzwerk vor. Sobald das Tool die Erfolgsmeldung „TOR wurde gestartet“ bringt, können Sie über „Internet -> Tor Browser“ den Browser laden. Beim allerersten Mal muss dieser erst aus dem Web nachgeladen werden.

Eine interessante Sicherheitsfunktion bietet der Punkt „Knoppix -> Start Knoppix in KVM“. Sofern die Rechner-Hardware mitspielt, lädt Knoppix hier eine Original-Kopie seiner selbst (ohne Overlay-Anpassungen) als virtuelle Maschine mit dem Virtualisierer Qemu. Start wie Betrieb der VM verlaufen auch auf USB frappierend flott. Die VM kann etwa für den doppelt gesicherten Surfausflug mit dem Browser dienen (VM unter einem Livesystem!). Nebenbei haben Sie mit der VM immer ein originales Knoppix zur Hand, falls Sie das Overlay-System zu weitreichend abgespeckt haben.

Die Option „Knoppix -> Desktop zeigen/exportieren“ erlaubt die Remotefreigabe des Knoppix-Desktops. Dabei benutzt Knoppix das VNC-Protokoll, unterscheidet bei der Freigabe zwischen „Nur beobachten“ und „Steuerung erlauben“ und sichert die Freigabe durch ein optionales Kennwort, das Sie vor der Desktopfreigabe eingeben. Der zugreifende Rechner benötigt einen Client wie das verbreitete Remmina, das Knoppix natürlich auch an Bord hat („Internet -> Remmina“). Remmina benötigt für den Zugriff nur die IP-Adresse, das Kennwort und die Protokollangabe „VNC“. Das unter Knoppix installierte Remmina hat neben VNC und SSH auch das RDP-Plugin an Bord, das Windows für die Desktopfreigabe verwendet.

Komfortables Systemtool: „Netzlaufwerke suchen/mounten“ findet Samba/Windows-Freigaben im lokalen Netz.

Systemwerkzeuge und Zubehör

Unter den Kategorien „Systemwerkzeuge“ und „Zubehör“ versammelt Knoppix alle Gnome- und KDE-Kandidaten, die für Datenträger-, Datei-, Task- und Netzwerkverwaltung Rang und Namen haben. Knoppix will jeden Nutzer versorgen, egal von welcher Distribution und welchem Desktop er kommt. Das führt zu erheblicher Redundanz und erschwert den Durchblick gerade für weniger Erfahrene, denen Namen wie „Dolphin“, „Htop“ oder „Leafpad“ nicht auf Anhieb etwas sagen. Außerdem geht es im Hauptmenü munter hin und her zwischen beschreibenden Bezeichnungen und tatsächlichen Programmnamen. Wer hier mehr Klarheit haben will, kann auf seinem Overlay-Knoppix selbst aufräumen und aus dem jeweils halben Dutzend an Dateimanagern, Systemmonitoren, Terminals oder Texteditoren die irrelevanten herausfiltern. Ein „apt remove…“ ist die radikale Antwort, etwas sanfter ist nach

sudo pcmanfm /etc/share/applications

das Löschen oder Umbenennen von Desktop-Dateien. Geht es nur um das Entschlacken des Menüs, ist unter „Zubehör -> Hauptmenü“ der Menü-Editor Alacarte an Bord. Änderungen mit diesem Editor gelten erst nach einer Abmeldung vom Desktop.

Ungeachtet dieser eher kritischen Bemerkungen steht auf der positiven Seite außer Frage, dass jeder Linux-Nutzer unter Knoppix sein favorisiertes Systemtool vorfindet: Klassiker wie Gparted, Gnome-Disks („Laufwerke“), Hardinfo („System Profiler“) oder Gnome-System-Monitor („Systemüberwachung“) sind ebenso an Bord wie bewährte Editoren (Kate, Kwrite, Bluefish, Geany, Emacs, Leafpad), kleine Helfer wie Sweeper (Aufräumen), Baobab (Festplattenbelegung), Ark (Archivmanager) oder die Wine-Umgebung für Windows-Programme.

Office, Medien, Unterhaltung und Spiele

Das Livesystem versammelt auf komprimierten 4,3 GB eine Armada an Anwendungssoftware – auch hier mit bewusster funktionaler Redundanz, um jedem das Gewohnte anbieten zu können. Mit Alternativen wie Firefox und Chromium, Thunderbird und Evolution, VLC und MPV Player, Kdenlive und Openshot, Eog und Gpicview, Evince, Xournal, Okular (Dokumentenbetrachter) fallen die Doppelungen aber dosierter aus als bei den Systemwerkzeugen. Ansonsten steht mit Libre Office, Calibre (Ebook-Verwaltung), Gimp (Bildbearbeitung), Amarok, Audacity, Blender, Brasero, Freecad, Handbrake, Mediathekview, Inkscape, Keypassx, Ktorrent Pidgin, Remmina, Putty wirklich alles parat, was ein Linux-Nutzer für den Medien-Konsum und für den produktiven Alltag benötigt (wobei unsere kleine Liste nur die prominentesten Programme erwähnt).

Nicht zu vergessen: Annähernd 80 Spiele bringt Knoppix auch noch unter. Da ist – freundlich formuliert – auch Krimskrams dabei, aber auch viel Unterhaltsames. Spiele wie Kobi Deluxe, Kapman oder Kblocks sind nicht ganz der aktuelle Stand der Spieleentwicklung, haben aber das Suchtpotential für viele verlorene Stunden (dieser Artikel wurde trotzdem rechtzeitig fertig).

Auch das ist Knoppix: Das Livesystem bringt nicht nur Nutzwert pur, sondern auch eine ganze Menge Spielspaß mit.

Wer ist Bommel?

Bommel_20150416

Das abgebildete schwarze Tier hat gut 70 cm Risthöhe und 34 kg Gewicht. Es nennt sich Bommel und wird von den meisten Menschen als Hund wahrgenommen. In der Tat interessiert er sich für Individuen dieser Spezies, insbesondere für weibliche, jedoch mit tendenziell bisexueller Ausrichtung auch für kastrierte männliche. Trotz weiterer hündischer Merkmale des Prinzips „Immer der Nase nach“ bin ich mir nach drei Jahren mit diesem Tier so gut wie sicher, dass es sich um KEINEN Hund handelt:

Hunde rennen Stöckchen und Frisbees hinterher, Bommel nur Weibern.
Hunde denken nur ans Fressen, Bommel will eine Einladung zum Napf plus Bestätigung am Napf, dass die Einladung wirklich gilt.
Hunde wälzen sich in schlammigen Pfützen, Bommel macht einen Bogen.
Hunde danken dir für ein Leckerli, indem sie noch den halben Finger als Zugabe nehmen. Bommel holt es sich mit zartester Rücksicht.
Hunde hören auf „Stop“ und „Down“, Bommel schaut, ob das im Moment sinnvoll ist. Sieht er keinen Anlass („Hier ist kein Auto!“), schaut er mich tadelnd an – und lässt es.

Bommel ist wahrscheinlich kein Hund, sondern ein Pudel. Nach Goethe und Schopenhauer ist ein Pudel ein Wesen mit durchaus ungewissem Kern. Ich werde die nächsten Jahre nutzen, Genaueres herauszufinden.

Sonne mag ich nicht...

Some people like cats exclusively. I for one care less for them.
I say there is not, nor ought there be nothing so exalted on the face of God’s great earth as that prince of pets: Bommel – the king size poodle…

(Frank Zappa in memoriam et variationem…)

Pudelfreunde verschiedener Größe…