Linux-Dateisystem

5 min 2 Abschnitte
Was du nach diesem Konzept kannst 4
  1. Du bist in der Lage, die grundlegenden Eigenschaften und Unterschiede gängiger Linux-Dateisysteme (z.B. ext4, XFS, Btrfs) zu vergleichen ,

    indem Aspekte wie Journaling-Fähigkeiten, typische Anwendungsfälle, maximale Dateigrößen und spezifische Features (z.B. Snapshots) gegenübergestellt werden.

  2. Du bist in der Lage, die Struktur des Linux-Dateisystems gemäß dem Filesystem Hierarchy Standard (FHS) zu erklären ,

    indem die Hauptverzeichnisse (z.B. /, /bin, /etc, /home, /var, /usr, /tmp) und deren primäre Funktionen sowie typische Inhalte beschrieben werden.

  3. Du bist in der Lage, die grundlegende Funktionsweise von Inodes und deren direkten Zusammenhang mit Dateiberechtigungen und Eigentumsverhältnissen im Linux-Dateisystem zu erklären ,

    indem erläutert wird, wie Inodes Metadaten (einschließlich der rwx-Berechtigungen für Benutzer:innen, Gruppen und Andere sowie Besitzinformationen) speichern und wie diese die Zugriffskontrolle auf Dateien und Verzeichnisse spezifisch unter Linux steuern.

  4. Du bist in der Lage, das Konzept des Mountens von Dateisystemen unter Linux zu erklären ,

    indem der Zweck von Mount-Punkten, der Prozess der Einbindung von Speichergeräten (mit verschiedenen Dateisystemtypen wie ext4 oder XFS) in die bestehende Verzeichnisstruktur und die grundlegende Verwendung des mount-Befehls erläutert werden.

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/backup

Ab 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?

Bereit für mehr?

Thema verstanden?

Teste dein Wissen interaktiv in unserer App. 7 Tage kostenlos, dann nur 5 € im Monat.