23Administration des Dateisystems

Dieses Kapitel beschreibt verschiedene Facetten der Administration des Dateisystems. Das Kapitel richtet sich an fortgeschrittene Linux-Anwender und geht auf die folgenden Themen ein:

Auch über die Administration von Dateisystemen ließe sich natürlich noch mehr sagen bzw. schreiben. So viel Platz ist hier aber nicht. Stattdessen müssen hier einige Querverweise genügen:

23.1Wie alles zusammenhängt

Die Zusammenhänge bei der Verwaltung des Dateisystems sind bisweilen verwirrend. Dieser Abschnitt versucht, die wichtigsten Zusammenhänge kurz und übersichtlich darzustellen. Um den Text möglichst übersichtlich zu halten, beschränke ich mich hier auf eingebaute Festplatten und gewöhnliche Linux-Dateisysteme. DVD-Laufwerke, externe Datenträger, LVM- und RAID-Systeme etc. bleiben außen vor.

Den eingebauten Festplatten und SSDs sind unter Linux Device-Dateien zugeordnet. Alle gängigen Distributionen verwenden /dev/sda für die erste Festplatte bzw. für den ersten Datenträger, /dev/sdb für den zweiten Datenträger etc. Generell schreibe ich in diesem Buch oft einfach von »Festplatten«. Damit meine ich gleichermaßen herkömmliche Festplatten und moderne Solid State Disks ohne bewegliche Teile.

Um auf einer Festplatte mehrere, voneinander unabhängige Dateisysteme unterzubringen, muss sie in Abschnitte (Partitionen) unterteilt werden. Auch den Partitionen sind Device-Dateien zugeordnet, beispielsweise /dev/sda1 für die erste Partition der ersten Festplatte. Im Detail ist die Device-Nomenklatur für Partitionen in Abschnitt 23.3 zusammengefasst.

Beim Start von Linux greift der Kernel als Erstes auf die Systempartition (root-Partition) zu. Deren Device-Name oder die UUID (Universal Unique Identifier) des darauf enthaltenen Dateisystems wird in einem Kernelparameter in der GRUB-Konfigurationsdatei angegeben.

Neben der Systempartition, die unbedingt erforderlich ist, kann es weitere Partitionen geben, die bereits beim Start von Linux berücksichtigt werden sollen. Diese Dateien sind in der Datei /etc/fstab verzeichnet. Diese Datei muss sich wiederum in der Systempartition befinden. Sie wird im Rahmen des Init-Prozesses ausgewertet.

Beim Einbinden von Partitionen in den Verzeichnisbaum wird automatisch die Konsistenz der Dateisysteme überprüft. Ist der Rechner zuletzt abgestürzt bzw. wurde er wegen eines Stromausfalls nicht ordnungsgemäß heruntergefahren, kommt es zu einer automatischen Reparatur des Dateisystems oder anderen Sicherheitsmaßnahmen, die weitere Konsistenzfehler oder -schäden verhindern sollen. Ein entsprechender Konsistenztest wird aber auch automatisch nach einer bestimmten Nutzungsdauer durchgeführt. Im Detail ist dieser Vorgang von der Distribution, vom Dateisystemtyp und von der individuellen Konfiguration abhängig.

Während es unter Windows üblich ist, getrennte Dateisysteme über Laufwerksbuchstaben anzusprechen (C:, D: etc.), werden in Linux sämtliche Dateisysteme in einem Verzeichnisbaum zusammengefasst. Der Zugriff auf die Systempartition erfolgt über das Wurzelverzeichnis /. Der Startpunkt aller anderen Dateisysteme kann je nach Distribution und Konfiguration variieren. Üblich sind /mnt-, /media- oder /run-Unterverzeichnisse, beispielsweise /media/dvd oder /run/media/benutzername/dvdname.

Es ist möglich, im laufenden Betrieb weitere Dateisysteme in den Verzeichnisbaum einzubinden bzw. wieder aus ihm zu lösen. Beim Anstecken eines externen Datenträgers (z.B. eines USB-Sticks) erfolgt das zumeist automatisch. Wenn dieser Automatismus nicht funktioniert bzw. wenn er bewusst deaktiviert wurde, kann root mit den Kommandos mount und umount Dateisysteme auch manuell einbinden bzw. lösen. Die einzige Konstante ist die Systempartition: Sie kann während des Betriebs nicht aus dem Dateisystem gelöst werden. Das ist erst beim Herunterfahren des Rechners möglich.

Linux unterstützt sehr viele Dateisystemtypen. Die Systempartition muss in einem Linux-Dateisystem vorliegen (z.B. ext4, btrfs oder xfs). Bei den restlichen Partitionen ist die Auswahl noch größer. Infrage kommen beispielsweise auch Windows-, Unix- oder Apple-Dateisysteme.