Ein Dateisystem (engl. Filesystem) ist ein System, Dateien zu speichern. Genauer gesagt legt das Dateisystem das Format von Verzeichniseinträgen, Superblock o.ä. fest. Es muss auch Buch darüber führen, in welchen Blöcken welche Datei liegt bzw. welche Blöcke frei und welche belegt sind.
Als Grundlage dazu dient i.d.R. ein BlockDevice oder ein FileServer (bei den Netzwerk-Dateisystemen).
Um unter Unix ein Dateisystem benutzen zu können, muss es vorher eingehängt (["mount"]ed) werden. Mit AutoMount kann das auch automatisch getan werden (z.B. bei CD-ROMs).
Linux unterstützt sehr viele verschiedene Dateisysteme:
Dateisysteme für Blockdevices (Festplatten, Disketten, etc)
- klassische Linux-Dateisysteme
- ["ext2"]
- minix (veraltet, nur noch manchmal aus Platzgründen auf Disketten u.ä. anzutreffen)
- ext, xiafs (ganz alt, eigentlich völlig verschwunden)
- ["ext3"]
- ["ReiserFS"]
- ["XFS"]
- ["jfs"]
[http://oss.sgi.com/projects/xfs/papers/filesystem-perf-tm.pdf Filesystem Performance and Scalability in Linux 2.4.17] Vergleich von ext2, ext3, ReiserFS, XFS und JFS
Empfehlenswert ist die Verwendung von DateisystemLabels, dadurch kann man Festplatten(-partitionen) beliebig umbauen / umstecken (-> externe Platten, USB-Sticks) und die enthaltenen Dateisysteme werden immer automatisch gefunden.
Dateisysteme anderer Betriebssysteme
- msdos (FAT) und VFAT (beides siehe ["FAT"])
- ["NTFS"]
- HPFS (OS/2)
- HFS (MacOS, HFS+ geht nur über ein Usermode-Programm)
- HFS+ (Mac OS X, die empfohlene und schnellere Variante)
- UFS bzw. FFS in verschiedenen Varianten (["BSD"], MacOS X enthält es nur aus Kompatibilitätsgründen )
- VxFS (Veritas, kommerzielle Unices)
- QNX4-Dateisystem
- SysV/Coherent Dateisystem (Solaris?)
Netzwerk-Dateisysteme
siehe auch FileServer
- ["NFS"]
- smbfs (["Samba"])
- ["ncpfs"]
Verteilte Dateisysteme (Distributed Filesystems)
siehe auch http://www.linuxplanet.com/linuxplanet/reports/4361/3/
InterMezzo Synchronisierte Dateisysteme inkl. "disconnected operation"
[http://www.linuxplanet.com/linuxplanet/tutorials/4481/1/ Coda]
- ["AFS"]
Dateisysteme für bestimmte Einsatzzwecke
- iso9660 (CD)
UDF (CD im PacketWriting Format)
- ["procfs"] - Zugriff auf ["Kernel"]-Parameter und Status-Informationen
- ["devfs"] - Zugriff auf Gerätedateien
["JFFS"]2 (Journaling Flash File System, für EmbeddedSysteme)
[http://sourceforge.net/projects/avf/ AVFS] - ein virtuelles Dateisystem zum Zugriff auf Archivdateien etc.
- ["cvsfs"] - virtuelles Dateisystem zur Abbildung der CVS Repositories
[http://lufs.sourceforge.net/ LUFS] - Dateisystem außerhalb des Kernels (Userspace)
- ["tmpfs"] bzw. shmfs - ein Dateisystem im Speicher (auch im virtuellen)
[http://squashfs.sourceforge.net/ Squashfs] komprimiertes read-only Dateisystem
Cluster-Dateisysteme
[http://opengfs.sourceforge.net/ OpenGFS]
[http://oss.oracle.com/projects/ocfs/ OCFS] Oracle Cluster File System (siehe auch http://oss.oracle.com/~wcoekaer/ocfs/)
[http://www.lustre.org/ Lustre], Wiki: FrontPage
weitere Links: http://www.linuxlinks.com/Kernel/File_Systems/