Dateisystem
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Dateisysteme sind die Schnittstellen zwischen dem Betriebssystem und den Partitionen auf Datenträgern. Sie organisieren die geordnete Ablage von Daten. Als Benutzer bekommt man von der Arbeit eines Dateisystems nicht viel mit. Man sieht nur, dass Dateien oder Verzeichnisse vorhanden sind, nicht aber wo und wie diese Daten auf dem Datenträger organisiert, gespeichert werden. Diese Arbeit übernimmt das Dateisystem. Es richtet eine Art Inhaltstabelle ein, in der alle Dateien (auch Verzeichnisse) und ihre Speicheradressen verwaltet werden. Neben einer solchen grundlegenden Datenorganisation stellen die verschiedenen Dateisysteme noch unterschiedliche zusätzliche Möglichkeiten zur Verfügung. Dieser Artikel verdeutlicht einige der Unterschiede zwischen den verschiedenen Dateisystemen.
Das Dateisystem ist nur eine Ebene im Bereich der Datenhaltung. Daneben gibt es zum Beispiel noch „Geräte“ und „Partitionen“. Für einen Überblick wird der Artikel Datenverwaltung empfohlen.
Dieser Artikel beschreibt nicht die Verzeichnisstruktur von Linux!
Was macht ein Dateisystem?¶
Neben der Datenorganisation auf dem Datenträger kann ein Dateisystem noch zusätzliche Möglichkeiten zur Verfügung stellen (Beispiele):
Verzeichnisse und Unterverzeichnisse anlegen
Datumsinformationen speichern (Erstellungsdatum, letzte Änderung, Zugriff)
Lange Dateinamen verwenden
Groß- und Kleinschreibung für Dateinamen berücksichtigen
Sonderzeichen für Dateinamen ermöglichen (z.B.: Leerzeichen)
Rechteverwaltung zur Zugriffssteuerung auf Dateien/Verzeichnisse
Journaling-Funktionen
...
Dateisystem und Formatierung¶
Ein Dateisystem wird einer Partition durch Formatierung zugewiesen, „man formatiert mit einem Dateisystem“. Hierbei werden auf einer Partition bestimmte Stellen für die Verwaltung reserviert und mit vordefinierten Werten überschrieben (was zu Datenverlust führt). Außerdem wird eine Inhaltstabelle angelegt und die ersten Werte (für die reservierten Stellen) eingetragen.
Hinweis:
Besonderheit /swap:
Obwohl die Swap-Partition kein Dateisystem im eigentlichen Sinne enthält, ist auch hier ein Formatieren notwendig. Wird bei der Installation von Ubuntu eine Swap-Partition erstellt, so wird die Formatierung automatisch durchgeführt. Siehe auch: Swap
Die Formatierung kann entweder mit grafischen Programmen wie GParted durchgeführt werden oder man benutzt die Terminalprogramme mke2fs bzw. mkfs (Für Beschreibungen der Terminalbefehle siehe die entsprechenden manpages).
Achtung!
Da eine Formatierung unweigerlich einen Datenverlust mit sich bringt, sollte man die Daten vorher sichern!
Experten-Info:
Durch die Formatierung mit einem Dateisystem sind eventuell vorhandene alte Daten nicht mehr direkt lesbar, weil die alte Inhaltstabelle überschrieben wird. Die Daten selber sind in der Regel aber noch vorhanden. Will man seine Daten wirklich löschen (unbrauchbar machen), muss die gesamte Partition überschrieben werden. Siehe Daten sicher löschen. Wer versehentlich eine Partition formatiert hat, kann versuchen, diese mit Testdisk 🇩🇪 wiederherzustellen. Siehe auch Datenrettung (Abschnitt „Partitionen-retten“)
Warum braucht Linux ein spezielles Dateisystem?¶
Linux nutzte bis ca. 1992 das Dateisystem Minix, was aber aus unterschiedlichen Gründen ( max. Partitionsgröße 64 MB, Dateinamen durften nur 14 Zeichen lang sein) nicht mehr den Ansprüchen genügte. Als Alternative bot sich das ext-Dateisystem an, welches (fast) allen Anforderungen gerecht wurde.
Moderne Linux-Dateisysteme müssen unter anderem folgende Eigenschaften besitzen:
Rechteverwaltung: Linux wurde von vornherein als Mehrbenutzer- Serverbetriebssystem konzipiert. Damit nicht ein Nutzer auf die Daten eines anderen Benutzers zugreifen kann, ist eine Rechteverwaltung nötig, die solche Zugriffe unterbindet. Ebenso verhindert die Rechteverwaltung, dass ein Nutzer direkten Zugriff auf das Betriebssystem hat. Somit kann ein Nutzer nicht ungewollt die Betriebssystemeinstellungen „verbiegen“.
symbolische Verknüpfungen: Dateisysteme, die diese Fähigkeiten nicht bieten, scheiden von vornherein aus.
Linux ist ein offenes, freies Betriebssystem. Die verwendeten Komponenten sollen auch diesen Maßstäben entsprechen.
Hinweis:
Dateisysteme, die diese Eigenschaften nicht besitzen (wie z.B.: FAT oder NTFS), sind für eine Installation von Ubuntu/Linux nicht geeignet!
Unterschiede¶
Grundlegende Merkmale¶
Dateisystem | technischer Stand | Von Betriebssystem unterstützt | Rechteverwaltung | Journaling | |
Btrfs | Standard in Suse Linux, optional bei allen Distributionen seit 2014 | Linux,ReactOS | Nur Metadaten | ||
ext... | ...2 | Ehemaliges Standarddateisystem, sehr ausgereift, aber aufgrund fehlender Journal-Funktion sehr langsam bei den Dateisystem-Checks | Linux; BSD; Windows mit ext2fd 🇬🇧 oder ExtFS für Windows 🇩🇪; MacOS X mit ExtFS-Treiber 🇩🇪 | ||
...3 | Ehemaliges Standarddateisystem | Linux; BSD; Windows mit ext2fsd 🇬🇧 oder ExtFS für Windows 🇩🇪; MacOS X mit ExtFS-Treiber 🇩🇪 | |||
...4 | Aktuelles Standarddateisystem für Ubuntu | Linux; Windows mit ext2fd 🇬🇧 oder ExtFS für Windows 🇩🇪; MacOS X mit ExtFS-Treiber 🇩🇪 | |||
JFS | Kompromiss aus Schnelligkeit und Sicherheit | Linux; Unix; OS/2 | Nur Metadaten | ||
ReiserFS | war lange Standarddateisystem vieler Distributionen | Linux; BSD; Windows mit kommerz. Zusatztreiber | |||
Reiser4 | experimentell, schon sehr lange in der Entwicklung | Linux (nur mit Kernelpatch) | |||
XFS | ausgereift und stabil, im Desktop-Bereich aber nicht sehr verbreitet | Linux; Unix; BSD | |||
FAT... | ...12 | Dateisysteme von Microsoft, als Installationsdateisystem für Linux nicht geeignet | Windows; Linux; BSD; Mac OS | ||
...16 | |||||
...32 | |||||
exFAT | proprietär, speziell für Flash-Speicher, als Installationsdateisystem für Linux nicht geeignet | Windows; Linux, FreeBSD via FUSE-Treiber; Mac OS | |||
NTFS | das Standarddateisystem von Windows XP, Vista, 7 und 8, als Installationsdateisystem für Linux nicht geeignet | Windows; Linux; BSD; Mac OS | in Linux nur bedingt verwendbar* | Nur Metadaten | |
ZFS | Standarddateisystem unter Solaris | Solaris; Linux; BSD |
* NTFS besitzt zwar ein Rechte-System, dies funktioniert aber standardmäßig nur unter Windows. Erst seit der Version 2009.11.14 (bei Ubuntu ab Version 10.04) bietet der Dateisystem-Treiber NTFS-3G optional die Möglichkeit, das Rechte-System von NTFS (mit gewissen Einschränkungen) auch unter Linux zu verwenden.
Weitere Merkmale¶
Dateisystem | max. Dateigröße Hinweis | max. Partitionsgröße Hinweis | Nicht erlaubte Zeichen | Max. Dateinamenlänge Hinweise | erweiterte Attribute ACL | |
Btrfs | 16 EiB | 16 EiB | / | Bis zu 255 Zeichen (255 Bytes) | ||
ext... | ...2 | 16 GiB bis 2 TiB, je nach Blockgröße. Siehe:Ext2 | 2 TiB bis 32 TiB, je nach Blockgröße. Siehe Ext2 | / | Bis zu 255 Zeichen (255 Bytes) | |
...3 | 16 GiB bis 2 TiB, je nach Blockgröße. Siehe:Ext2 | 2 TiB bis 32 TiB, je nach Blockgröße. Siehe Ext2 | / | Bis zu 255 Zeichen (255 Bytes) | ||
...4 | 16 GiB bis 16 TiB | 2 TiB bis 1 EiB | / | Bis zu 255 Zeichen (255 Bytes) | ||
JFS | 4 PiB | 32 PiB | / | Bis zu 255 Zeichen (255 Bytes) | ||
ReiserFS | 8 TiB (v3.6), 4 GiB (v3.5) | 16 TiB | / | Bis zu 255 Zeichen (4032 Bytes) | ||
Reiser4 | 8 TiB | Unbekannt | / | Bis zu 255 Zeichen (3976 Bytes) | ||
XFS | 8 EiB | 8 EiB | / | Bis zu 255 Zeichen (255 Bytes) | ||
FAT... | ...12 | 32 MiB | 1 MiB bis 32 MiB | \ / : * ? " < > | | Bis zu 256 Zeichen (512 Bytes) | |
...16 | 4 GiB - 1 TiByte | 16 MiB bis 4 GiB | \ / : * ? " < > | | Bis zu 256 Zeichen (512 Bytes) | ||
...32 | 4 GiB | 512 MiB bis 8 TiB | \ / : * ? " < > | | Bis zu 256 Zeichen (512 Bytes) | ||
exFAT | ca. 128 PiB | ca. 128 PiB | \ / : * ? " < > | | Bis zu 255 Zeichen (255 Bytes) | ||
NTFS | 16 EiB | 16 EiB | / Windows verbietet zusätzlich auch noch \ : * ? " < > | | Bis zu 255 Zeichen (255 Bytes) | ||
ZFS | 16 EiB | 16 EiB | / | Bis zu 255 Zeichen (255 Bytes) |
Sonstige Informationen¶
Dateisystem | Veröffentlicht | Entwickler | Entwickelt für Betriebssystem | Links |
Btrfs | 2007 | Oracle | Linux | btrfs |
ext2 | 1993 | Rémy Card u.a. | Linux | ext2 |
ext3 | 2001 | Stephen Tweedie u.a. | Linux | ext3 |
ext4 | 2008 | verschiedene | Linux | ext4 |
JFS | 1990 | IBM | AIX | JFS |
ReiserFS | 2001 | Namesys | Linux | ReiserFS |
Reiser4 | 2004 | Namesys | Linux | ReiserFS |
XFS | 1994 | SGI | Unix | XFS |
FAT | 1980 | Microsoft | MS-DOS | FAT |
exFAT | 2006 | Microsoft | Windows | exFAT |
NTFS | 1993 | Microsoft | Windows | NTFS |
ZFS | 2006 | Sun | Solaris | ZFS |
SquashFS | 2002 | Phillip Lougher | Linux | SquashFS |
Siehe dazu auch Comparison of file systems.
Hinweise¶
Wieviele Bytes benötigt ein Zeichen?¶
Je nach Kodierung werden Zeichen durch unterschiedlich viele Bytes repräsentiert. Beispielsweise werden bei der Kodierung UTF-8 einige Zeichen mit einem Byte (z.B: a, b, c, A, B, C), mit zwei Bytes (z.B. ü, ö, ä, ß) oder auch drei oder vier Bytes (z.B.: asiatische Schriftzeichen) kodiert. Bei Angabe von „255 Bytes“ kann ein Dateiname aus 255 1-Byte-kodierten Zeichen bestehen. Werden auch Mehr-Byte-kodierte Zeichen für den Dateinamen verwendet, verkürzt sich die maximale Länge entsprechend.
FAT-Dateisysteme verwenden als Kodierung UTF-16. Diese Kodierung benötigt auch für normale Zeichen wie „a, b, A, B“ mindestens zwei Bytes.
Hinweis:
Unter Linux/Ubuntu ist darauf zu achten, FAT-Dateisysteme mit der mount-Option utf8
einzuhängen. Siehe: Windows-Partitionen einbinden und Mountoptionen für Windowsdateisysteme
Dateinamenlänge¶
Die Länge von Dateinamen unter Linux-Systemen wird in erster Linie vom VFS (Virtual File System) begrenzt. Das VFS ist eine weitere Schicht zwischen Betriebssystem und Dateisystem. Sie dient dazu, den Zugriff auf die verschiedenen Dateisysteme zu vereinheitlichen, und ermöglicht erst das Einhängen (mounten) derselben. Das VFS kann keine Dateinamen länger als 255 Bytes verwalten, auch wenn das Dateisystem mehr ermöglichen würde (z.B.: ReiserFS).
FAT-Dateisysteme können längere Dateinamen als das 8.3-Format nur mit Hilfe von VFAT verwirklichen (VFAT ist Standard ab Windows95). Die maximal mögliche Dateinamenlänge hängt zudem mit der Pfadlänge zusammen (siehe folgenden Abschnitt).
Pfadlänge¶
Allgemein ist die Länge eines Dateipfades, also Verzeichnis(se) plus Dateiname (z.B.: /home/USER/Musik/Rock/guteMusik.mp3) wie folgt definiert:
Unter Linux ist die Pfadlänge auf 4096 Bytes beschränkt
Unter Windows ist die Pfadlänge auf 255 Zeichen beschränkt
Diese Werte können jedoch unter bestimmten Bedingungen sowohl größer als auch kleiner ausfallen. (Siehe Diskussionsbeiträge zu Linux, Windows Dateinamenlänge und Windows Pfadlänge)
Achtung!
Unter Linux können ohne weiteres Dateipfade auf FAT-formatierten Datenträgern erstellt werden, die länger als 255 Zeichen sind. Unter Windows ist ein Zugriff mit dem Explorer auf so einen Dateipfad nicht möglich, da hier die Beschränkung auf 255 Zeichen besteht!
Datei-/Partitionsgröße¶
Die maximalen Datei-/Partitionsgrößen hängen direkt von der maximalen Größe der vom Dateisystem genutzten Zuordnungseinheit ab. Die in der Tabelle genannten Werte orientieren sich dabei hinsichtlich der Linux-Dateisysteme an der kleinsten bzw. größten Blockgröße: Die kleinere Zahl gibt die Größe bei 1 KiB-Blöcken, die größere Zahl bei 8 KiB-Blockgröße an.
Hinweis:
Eine Blockgröße von 8 KiB ist nur auf bestimmten Architekturen (z.B. Alpha) möglich!
Wer mehr über den Zusammenhang von Blockgröße und Dateigröße erfahren möchte, sollte den Artikel Inode lesen.
Hinweis:
Bei der Erstellung eines Dateisystems ohne expliziter Angabe der Blockgröße, wird je nach Partitionsgröße automatisch eine passende Blockgröße gewählt. In der Regel ist die automatisch eingestellte Größe völlig ausreichend!
Dateisysteme für optische Datenträger¶
ISO 9660 und UDF¶
Sie werden auf CD-ROMs, DVDs und BDs verwendet. ISO 9660 kennt keine Rechteverwaltung. UDF bietet ab Version 1.5 Funktionen, die besonders nützlich für DVD-RAMs sind.
Weitere Dateisysteme¶
Linux bzw. der Linux-Kernel unterstützt noch eine Vielzahl von weiteren Dateisystemen, z.B. HFS/HFS+, Read-only Dateisysteme, komprimierte Dateisysteme etc. Da diese aber nur bei speziellen Anwendungsfällen (z.B. bei manchen Linux Live-CDs) zum Einsatz kommen, wird darauf hier nicht weiter eingegangen. Mit exFAT gibt es ein weiteres für Flash-Speicher optimiertes Dateisystem.
Links¶
Datenverwaltung - Grundlegendes zur Datenverwaltung
Datenträger - Bezeichnungen von Partitionen und Datenträgern unter Linux
ext - Einführung in ext-Dateisysteme
Upgrade auf ext4 - Dateisystem-Upgrade von ext3 auf ext4
Partitionierung/Grundlagen - Datenträger in unabhängige Bereiche einteilen