Wie ist das Linux-Dateisystem strukturiert und organisiert?
Die Baumstruktur nach dem FHS
Unter Linux gibt es keine Laufwerksbuchstaben wie C: oder D:. Alles beginnt bei einem einzigen Ursprung: dem Stammverzeichnis (Root), dargestellt durch einen einfachen Schrägstrich (/). Von dort aus verzweigt sich das System wie ein Baum. Der Filesystem Hierarchy Standard (FHS) legt exakt fest, welche Unterverzeichnisse existieren und was sie enthalten. Das sorgt für eine einheitliche Struktur über alle Linux-Distributionen hinweg:
/bin: Grundlegende ausführbare Befehle, die für das System essenziell sind (z. B.ls,cp,mv)./etc: Die zentrale Schaltstelle für systemweite Konfigurationsdateien./home: Die persönlichen Verzeichnisse der Benutzer:innen (für Dokumente, Downloads etc.)./var: Variable Daten, die sich im laufenden Betrieb ständig ändern (z. B. Logdateien in/var/log)./usr: Installierte Anwendungsprogramme und zugehörige Bibliotheken./tmp: Temporäre Dateien, die von Programmen kurzzeitig benötigt und oft beim Neustart automatisch gelöscht werden.
Inodes und Dateiberechtigungen: Die unsichtbare Verwaltung
Wenn du eine Datei speicherst, trennt Linux den eigentlichen Inhalt von den Verwaltungsinformationen. Diese Metadaten liegen in einer Datenstruktur namens Inode (Index Node). Ein Inode enthält nicht den Dateinamen, sondern essenzielle Eigenschaften: die Dateigröße, Verweise auf die physischen Speicherblöcke, Zeitstempel sowie die besitzende Person (User) und die zugeordnete Gruppe (Group).
Zusätzlich speichert der Inode die Dateiberechtigungen. Diese steuern den Zugriff extrem präzise für drei Kategorien: User (Besitzer:in), Group (Gruppe) und Others (Alle anderen). Für jede Kategorie gibt es drei Rechte:
- Lesen (
r- read): Inhalt ansehen oder Verzeichnis auflisten. - Schreiben (
w- write): Inhalt ändern oder Dateien löschen. - Ausführen (
x- execute): Datei als Programm starten oder in ein Verzeichnis wechseln.
Praxisbeispiel: Ein Webserver-Skript gehört dir (User: rwx), die Gruppe ist der Webserver-Dienst (Group: r-x, darf lesen und ausführen, aber nicht ändern), und alle anderen haben keinerlei Rechte (Others: ---).
Laufwerke einbinden: Das Mount-Konzept
Da Linux nur einen einzigen Verzeichnisbaum (/) besitzt, müssen zusätzliche Speichergeräte (wie USB-Sticks oder zweite Festplatten) nahtlos in diesen Baum integriert werden. Dieser Vorgang heißt Mounten.
Dabei wird das Dateisystem des Geräts (z. B. ext4 oder XFS) an einem leeren Ordner, dem sogenannten Mount-Punkt, eingehängt.
Praxisbeispiel: Du schließt eine neue Backup-Festplatte an, die vom System als /dev/sdb1 erkannt wird. Um darauf zuzugreifen, nutzt du den Befehl mount:
mount /dev/sdb1 /mnt/backupAb sofort findest du alle Dateien der Festplatte im Verzeichnis /mnt/backup. Wenn du die Festplatte wieder entfernen möchtest, wird sie mit dem Befehl umount /mnt/backup sicher ausgehängt.
Welches Linux-Dateisystem passt zu welchem Einsatzzweck?
ext4: Der bewährte Standard-Allrounder
Das Fourth Extended Filesystem (ext4) ist seit vielen Jahren das Standard-Dateisystem der meisten Linux-Distributionen. Es ist ein exzellenter, stabiler Allrounder für alltägliche Server- und Desktop-Aufgaben.
Ein Kernmerkmal ist das Journaling: Bevor Daten endgültig auf die Festplatte geschrieben werden, notiert ext4 die geplante Änderung in einem Protokoll (Journal). Bei einem plötzlichen Stromausfall kann das System anhand dieses Journals den letzten konsistenten Zustand fehlerfrei wiederherstellen. ext4 unterstützt eine maximale Dateigröße von 16 Terabyte (TB). Das reicht für die meisten Standardanwendungen, wie Webserver oder kleine Dateiserver, völlig aus.
XFS: Der Spezialist für riesige Datenmengen
Wenn du einen Server für extrem große Datenbanken oder hochauflösende Videobearbeitung einrichtest, stößt ext4 an seine Grenzen. Hier kommt XFS ins Spiel.
XFS ist ein hochleistungsfähiges Journaling-Dateisystem, das speziell für hohe Parallelität und gigantische Datenmengen entwickelt wurde. Es verarbeitet viele gleichzeitige Lese- und Schreibzugriffe deutlich effizienter als ext4. Zudem unterstützt es eine theoretische maximale Dateigröße von 8 Exabyte (EB) (das sind 8 Millionen Terabyte). Es ist die erste Wahl für Enterprise-Storage, große Datenbanken und Medienserver.
Btrfs: Der moderne Alleskönner mit Snapshots
Das B-Tree File System (Btrfs) ist ein Dateisystem der nächsten Generation. Es unterstützt wie XFS gigantische Dateien (bis zu 16 Exabyte), bringt aber fortschrittliche Funktionen direkt mit, für die man sonst teure Zusatzsoftware benötigt:
- Snapshots: Du kannst den exakten Zustand des Dateisystems in Millisekunden "einfrieren". Geht ein Server-Update schief, rollst du das System einfach blitzschnell auf den Snapshot zurück.
- Copy-on-Write (CoW): Wenn du eine Datei änderst, überschreibt Btrfs nicht die alten Daten. Es schreibt die Änderung an eine neue Stelle und aktualisiert erst danach den Verweis. Das verhindert Datenkorruption bei Systemabstürzen.
Btrfs eignet sich hervorragend für Systeme, bei denen Ausfallsicherheit, einfache Backups und flexible Speicherverwaltung im Vordergrund stehen.
Teste dein Wissen
Du sollst als Administrator:in die systemweite Konfiguration des SSH-Dienstes anpassen. In welchem Verzeichnis suchst du nach der entsprechenden Datei?