Filesystem

From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Resources


A filesystem is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve, and update data as well as manage the available space on the device(s) which contain it.

Linux has a few dozen filesystems available, each with their own advantages and disadvantages when considering a particular use case.

Filesystems

General information

Disk filesystems

  • bcachefs - A next generation, robust, high performance filesystem supporting CoW (Copy-on-write), compression, and encryption.
  • Cramfs - A memory and space sensitive compressed filesystem that supports random reading. It avoids the block device layer and tiny embedded systems with very tight memory constraints.
  • eCryptfs - The enterprise cryptographic filesystem for Linux.
  • efivarfs - a (U)EFI variable filesystem[1]
  • ext4 - The default, GPL licensed journaling filesystem for many Linux distributions.
  • FAT - The File Allocation Table (FAT) filesystem. Originally created for use with Microsoft Windows.
  • JFS - A GPL licensed, 64-bit Journaled File System (JFS) developed by IBM.[2]
  • Btrfs - A copy-on-write B-tree file system (Btrfs) with advanced features (an entirely open source licensed ZFS alternative).
  • NILFS
  • NTFS - Microsoft Windows' New Technology File System (NTFS) (Windows' default filesystem).
  • Aufs - Advanced multi-layered unification file system (Aufs), formerly known as Another union file system.
  • OverlayFS - The only union-like filesystem built-in to the Linux kernel.
  • ReiserFS - Version 3 of the ReiserFS filesystem.
  • Reiser4 - Version 4 of ReiserFS filesystem. Currently not implemented in the mainline Linux kernel.
  • SquashFS - A compressed, read-only file system for Linux[3]
  • UDF - Universal Disk Format - needed for mounting some kind of .iso files
  • GFS2 - Global File System 2: A shared disk filesystem. Typically used in compute clusters.
  • UFS - The Unix File System (UFS) also called the Berkeley Fast File System.
  • XFS - A GPL licensed, 64-bit journaling filesystem created by Silicon Graphics.[4]
  • ZFS - A CDDL (non-GPL compatible) licensed, copy-on-write filesystem created by Sun Microsystems.[5]
  • F2FS - A Flash-Friendly File System (F2FS) created by Samsung for the Linux kernel.

Virtual filesystems

Virtual filesystems, also called pseudo filesystems, are for storing temporary data in memory while the system is running.

  • 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 and IMA, an integrity provider.[6]
  • 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.

Network filesystems

  • Ceph - A distributed object store and filesystem designed to provide excellent performance, reliability, and scalability.
  • NFS - A common Linux network file system protocol.
  • SSHFS - Implements FUSE to mount filesystems in user space.
  • Tahoe-LAFS - A Least Authority File Store (LAFS).
  • GlusterFS - A powerful network/cluster filesystem.

FUSE-based filesystems

  • CurlFtpFS - File system for accessing FTP hosts based on FUSE.
  • exFAT - A FUSE filesystem for the extended FAT filesystem.
  • FuseISO - FUSE module to mount ISO filesystem images.
  • MTPfs - A FUSE filesystem providing access to Media Transfer Protocol (MTP) devices.
  • smbnetfs - A FUSE filesystem for SMB shares.
  • squashfuse - Mount SquashFS archives using FUSE.

Usage

Mounting

Filesystems can be mounted in several ways:

  • mount - The command used to mount filesystems. Requires administrative privileges or entries in /etc/fstab.
  • /etc/fstab - Contains descriptive information about the filesystems the system can mount.
  • Removable media - Mount on file demand.
  • Udevil - A small auto-mount utility with little dependencies.
  • AutoFS - Automatic mount on file access.

See also

  • Bcache — a Linux kernel block layer cache.
  • Filesystem in Userspace — a way for users to mount file systems without needing special permissions

External resources

References