This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.

Please visit our production wiki at https://wiki.gentoo.org

Filesystem

From Gentoo Wiki (test)
Jump to:navigation Jump to:search
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).
  • 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

  • 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.
  • FUSE - File system in User Space (FUSE).

External resources

References