Dateisystem
Ein Dateisystem ist ein Mittel zum Organisieren von Daten, von denen man erwartet, dass sie nach dem Beenden eines Programms beibehalten werden. Dateisysteme bieten Verfahren sowohl zum Speichern, Laden und Aktualisieren von Daten, als auch das Verwalten des verfügbaren Speicherplatzes auf dem Gerät, das diese enthält.
Linux unterstützt ein paar dutzend Dateisysteme, jedes mit seinen eigenen Vor- und Nachteilen je nach Anwendungsfall.
Dateisysteme
Generelle Information
- Filesystem/Access Control List Guide — an additional security control feature for multiuser systems.
- Filesystem/Security — one of the basic means to harden a system.
Flash-Speicher-Dateisysteme
Die folgenden Flash-Speicher-Dateisysteme sind für eingebetteten Flash-Speicher, bekannt als MTDs, konzipiert; sie sind nicht für USB-basierte Flash-Laufwerke, SD-Karten oder andere Arten von entfernbaren Flash-Block-Geräten gedacht.
Name | Userspace-Paket | Beschreibung |
---|---|---|
JFFS2 | Journalling Flash File System version 2. | |
YAFFS | sys-fs/yaffs2utils | Yet Another Flash File System. |
Dateisysteme für Festplatten
Name | Userspace-Paket | Beschreibung |
---|---|---|
bcachefs | sys-fs/bcachefs-tools | Ein robustes Hochleistungsdateisystem der nächsten Generation, das CoW (Copy-on-write), Komprimierung und Verschlüsselung unterstützt. |
btrfs | sys-fs/btrfs-progs | Ein copy-on-write B-Tree Dateisystem (btrfs) mit erweiterten Funktionen. |
Cramfs | sys-fs/cramfs | A memory and space sensitive compressed filesystem that supports random reading. It avoids the block device layer and usefulness in tiny embedded systems with very tight memory constraints. |
eCryptfs | sys-fs/ecryptfs-utils | The enterprise cryptographic filesystem for Linux. |
efivarfs | A (U)EFI variable filesystem[1] | |
exFAT | sys-fs/exfatprogs | Extensible File Allocation Table (exFAT) filesystem by Microsoft, natively supported since Linux 5.7[2] |
ext4 | sys-fs/e2fsprogs | The default, GPL licensed journaling filesystem for many Linux distributions. |
F2FS | sys-fs/f2fs-tools | A Flash-Friendly File System (F2FS) created by Samsung for the Linux kernel. |
FAT | sys-fs/dosfstools | The File Allocation Table (FAT) filesystem. Originally created for use with Microsoft Windows. |
GFS2 | Global File System 2: A shared disk filesystem. Typically used in compute clusters. | |
HFS | sys-fs/hfsutils | Hierarchical File System (HFS). Originally created for use with the Macintosh System Software, later renamed to Mac OS (Classic). |
HFS+ | sys-fs/hfsplusutils | The successor to HFS, introduced in Mac OS 8.1 and default filesystem for Mac OS X until macOS 10.12 Sierra. |
JFS | sys-fs/jfsutils | A GPL licensed, 64-bit Journaled File System (JFS) developed by IBM.[3] |
NILFS | sys-fs/nilfs-utils | A log-structured file system implementation for the Linux kernel. |
NTFS | Microsoft Windows' New Technology File System (NTFS) (Windows' default filesystem). | |
OCFS2 | Oracle Cluster File System version 2. | |
OverlayFS | The only union-like filesystem built-in to the Linux kernel. | |
ReiserFS | sys-fs/reiserfsprogs | Version 3 of the ReiserFS filesystem. Scheduled for removal from the kernel in 2025. |
SquashFS | sys-fs/squashfs-tools, sys-fs/squashfs-tools-ng | A compressed, read-only file system for Linux[4] |
UDF | sys-fs/udftools | Universal Disk Format - needed for mounting some kind of .iso files |
UFS | The Unix File System (UFS) also called the Berkeley Fast File System. | |
XFS | sys-fs/xfsprogs | A GPL licensed, 64-bit journaling filesystem created by Silicon Graphics.[5] |
ZFS | sys-fs/zfs | A CDDL (non-GPL compatible) licensed, copy-on-write filesystem created by Sun Microsystems[6]. |
Virtuelle Dateisysteme
Virtuelle Dateisysteme, auch Pseudodateisysteme genannt, dienen der Speicherung temporärer Daten im Speicher, während das System läuft.
Name | Userspace package | Description |
---|---|---|
debugfs | Used for debugging purposes; primarily Linux kernel development. | |
procfs | Used to output and change of system and process information. | |
securityfs | Used by the TPM BIOS character driver, AppArmor and IMA, an integrity provider.[7] | |
sysfs | Used to output information about and to configure devices and drivers. | |
tmpfs | Used to store files in memory (RAM). | |
devtmpfs | udev requires devtmpfs (Maintain a devtmpfs filesystem to mount at /dev) in the kernel. |
Netzwerkdateisysteme
Name | Userspace package | Description |
---|---|---|
Ceph | sys-cluster/ceph | A distributed object store and filesystem designed to provide excellent performance, reliability, and scalability. |
GlusterFS | sys-cluster/glusterfs | A powerful network/cluster filesystem. |
NFS | net-fs/nfs-utils | A common Linux network file system protocol. |
Samba | net-fs/samba | A re-implementation of the SMB/CIFS networking protocol. |
FUSE-basierte Dateisysteme
Name | Userspace package | Description |
---|---|---|
CurlFtpFS | net-fs/curlftpfs | File system for accessing FTP hosts based on FUSE. |
FuseISO | sys-fs/fuseiso | FUSE module to mount ISO filesystem images. |
MTPfs | sys-fs/mtpfs | A FUSE filesystem providing access to Media Transfer Protocol (MTP) devices. |
smbnetfs | net-fs/smbnetfs | A FUSE filesystem for SMB shares. |
SSHFS | net-fs/sshfs | Implements FUSE to mount filesystems in user space. |
squashfuse | sys-fs/squashfuse | Mount SquashFS archives using FUSE. |
Bedienung
Einhängen
Dateisysteme können auf verschiedene Wege gemountet werden :
- mount - Der Befehl zum Einhängen von Dateisystemen. Benötigt administrative Privilegien oder Einträge in /etc/fstab.
- /etc/fstab - Enthält beschreibende Information über die Dateisysteme welche das System einhängen kann.
- Removable media - Bei Dateiabfrage einhängen.
- Udevil - Ein kleines Auto-Einhänge-Dienstprogramm mit wenigen Abhängigkeiten.
- AutoFS - Automatisches Einhängen bei Dateizugriff.
Siehe auch
- Bcache — a Linux kernel block layer cache.
- Dateisystem Sicherheit — one of the basic means to harden a system.
- Filesystem in Userspace — a way for users to mount file systems without needing special permissions
- Dateisysteme im AMD64 Handbuch
Externe Ressourcen
- Linux Sea, von Sven Vermeulen, Kapitel über Dateisysteme
- Bitrot und atomare COWs: Die Dateisysteme der nächsten Generation (Ars Technica)
- Eine Studie über die Entwicklung der Linux Dateisysteme (PDF Dokument von USENIX)