Differences between revisions 7 and 59 (spanning 52 versions)
Revision 7 as of 2005-01-18 18:55:59
Size: 884
Editor: anonymous
Comment:
Revision 59 as of 2019-09-14 22:20:23
Size: 20481
Editor: nodiscc
Comment: CategoryStorage
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Auto-converted by kwiki2moinmoin v2005-10-07
["DebianWikiTopics"]
------
Filesystems are a collection of files that are stored in the system in some way. There are numerous ways of storing files and therefore, there are many types of filesystems.

Every filesystem type describes a uniform method of storing files onto a storage medium(eg. a partition on a hard disk). Without these descriptions, it would be very difficult to share files with other people. One would have to give a description of the way that they stored a file on a floppy disk as well as the actual floppy disk they give to someone.

=== Types ===
 * ["FAT"].
 * ["NTFS"].

=== See also ===
 * FilesystemHierarchyStandard .
 * FileSystemsAndDisks with information about ext3 filesystems.
 * UsefulFiles
 * UsefulLinux
 * SettingsDirectory

=== External links ===
 * http://www.wikipedia.org/wiki/filesystem .
#language en
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/FileSystem|Français]] - [[it/FileSystem|Italiano]] - [[zh_CN/FileSystem|简体中文]]-~

From '''[[https://en.wikipedia.org/wiki/File_system|Wikipedia]]''':

''In computing, a file system or filesystem (often abbreviated to fs), controls how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. A file system separates the data into pieces and gives each piece a name. Each group of data is called a "file".''

''There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more.''

Files and directories themselves are placed on top of the file system, therefore it is common to refer to the file/directory structure itself as ''"file system"''. On GNU/Linux, the [[FilesystemHierarchyStandard|Filesystem Hierarchy Standard]] defines the naming scheme and hierarchy between files and directories themselves.

File systems usually sit on top of hard disk [[Partition|partitions]] or [[LVM]] volumes. In Debian, [[Ext4|ext4]] is the default file system for new installations.

GNU/Linux can be installed on any filesystem that supports some special constructs (file permissions, symbolic links and device files).

Many file systems are [[https://en.wikipedia.org/wiki/Journaling_file_system|journaling]], meaning they are able to prevent data loss on system crashes or power failures.

<<TableOfContents(3)>>

----

== Mounting a filesystem ==

In GNU/Linux the contents of a filesystem can be made available under a directory, by ''mounting'' the filesystem over the directory. Here are some ways to mount a filesystem:

 * The [[DebianMan:mount.1|mount]] command. For example `mount /dev/sdd1 /mn/` would make contents of the first partition of the `/dev/sdd` disk device, available in the `/mnt/` directory.
 * Editing the [[fstab]] file


== Filesystems available in Debian Linux kernel ==
''Note0: Debian HURD and Debian kFreeBSD have other file systems.''

''Note1: the Features list are incomplete at this time.''

''Note2: This table is uptodate as of 2.6.28 kernel.''
##TAG:FS_LIST_START
||<rowstyle="background-color:#e0e0e0">'''Filesystem name''' || '''Features'''[[#features|?]]|| '''Documentation(s)''' || '''Description''' || '''Distributions''' ||
||<-4 rowstyle="background-color:#f4f4f4">''File systems often used as linux system partition''|| ||
||<<Anchor(ext4)>>[[Ext4|ext4]]|| R ||[[http://kernel.org/doc/Documentation/filesystems/ext4.txt|kDoc]] ||(''default filesystem in Debian)'' Fourth Extended Filesystem with extents|| >= Squeeze ||
||<<Anchor(ext2)>>ext2 || RS ||[[http://kernel.org/doc/Documentation/filesystems/ext2.txt|kDoc]], [[WikiPedia:Ext2|WPedia]] ||Second Extended Filesystem|| All? ||
||<<Anchor(ext3)>>[[Ext3|ext3]]|| RS ||[[http://kernel.org/doc/Documentation/filesystems/ext3.txt|kDoc]], [[WikiPedia:Ext3|WPedia]] ||Second Extended Filesystem with journaling extensions|| All? ||
||<<Anchor(ext4dev)>>[[Ext4|ext4dev]]|| R ||[[http://kernel.org/doc/Documentation/filesystems/ext4.txt|kDoc]] ||Fourth Extended Filesystem with extents<<BR>> ''not for production, in development''|| Etch-n-Half ~ Lenny ||
||<<Anchor(jfs)>>jfs|| R ||[[http://kernel.org/doc/Documentation/filesystems/jfs.txt|kDoc]] ||The Journaled Filesystem (JFS)|| All? ||
||<<Anchor(xfs)>>xfs|| R ||[[http://kernel.org/doc/Documentation/filesystems/xfs.txt|kDoc]] ||SGI XFS Filesystem|| All? ||
||<<Anchor(reiserfs)>>reiserfs|| R ||[[http://kernel.org/doc/Documentation/filesystems/reiserfs.txt|kDoc]] ||ReiserFS journaled filesystem|| All? ||
||<-4 rowstyle="background-color:#f4f4f4">''Other File systems''|| ||
||<<Anchor(9p)>>9p|| ||[[http://kernel.org/doc/Documentation/filesystems/9p.txt|kDoc]] || Plan 9 9p remote filesystem protocol || All? ||
||<<Anchor(adfs)>>adfs|| ||[[http://kernel.org/doc/Documentation/filesystems/adfs.txt|kDoc]] ||Acorn (and Risc OS) Advanced Disc Filing System || All? ||
||<<Anchor(affs)>>affs|| I ||[[http://kernel.org/doc/Documentation/filesystems/affs.txt|kDoc]] ||Amiga filesystem support for Linux|| All? ||
||<<Anchor(kafs)>>kafs|| N ||[[http://kernel.org/doc/Documentation/filesystems/afs.txt|kDoc]] ||AFS Client File System|| All? ||
||<<Anchor(autofs4)>>autofs4|| ||[[http://www.linux-consulting.com/Amd_AutoFS/autofs.html|old HowTo]] || Auto-mount filesystems. See DebianPkg:autofs|| All? ||
||<<Anchor(autofs)>>autofs|| ||[[http://www.linux-consulting.com/Amd_AutoFS/autofs.html|old HowTo]] || Auto-mount filesystems. See DebianPkg:autofs|| All? ||
||<<Anchor(befs)>>befs|| I ||[[http://kernel.org/doc/Documentation/filesystems/befs.txt|kDoc]] ||BeOS File System (BeFS) driver|| All? ||
||<<Anchor(bfs)>>bfs|| I ||[[http://kernel.org/doc/Documentation/filesystems/bfs.txt|kDoc]] ||SCO !UnixWare BFS filesystem for Linux|| All? ||
||<<Anchor(btrfs)>>[[Btrfs|btrfs]]|| RS ||[[https://btrfs.wiki.kernel.org/index.php/Main_Page|kDoc]] ||B-Tree filesystem|| >= Jessie ||
||<<Anchor(cifs)>>cifs|| N I ||[[http://kernel.org/doc/Documentation/filesystems/cifs.txt|kDoc]] ||VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows|| All? ||
||<<Anchor(coda)>>coda|| ||[[http://kernel.org/doc/Documentation/filesystems/coda.txt|kDoc]] ||Coda Distributed File System VFS interface|| All? ||
||<<Anchor(configfs)>>configfs|| ||[[http://kernel.org/doc/Documentation/filesystems/configfs/configfs.txt|kDoc]] ||Simple RAM filesystem for user driven kernel subsystem configuration.|| All? ||
||<<Anchor(cramfs)>>cramfs|| ||[[http://kernel.org/doc/Documentation/filesystems/cramfs.txt|kDoc]] ||cram a filesystem onto a small ROM || All? ||
||<<Anchor(dlm)>>dlm|| ||[[http://kernel.org/doc/Documentation/filesystems/dlmfs.txt|kDoc]] ||Distributed Lock Manager|| All? ||
||<<Anchor(ecryptfs)>>ecryptfs|| ||[[http://kernel.org/doc/Documentation/filesystems/ecryptfs.txt|kDoc]] ||eCryptfs|| All? ||
||<<Anchor(efs)>>efs|| ||[[http://aeschi.ch.eu.org/efs/|upstream doc]] [[http://tldp.org/HOWTO/Filesystems-HOWTO-9.html#efs|FS HowTo]] || SGI EFS, Extent File System (Irix <0.6) || All? ||
||<<Anchor(fat)>>fat|| I ||[[http://kernel.org/doc/Documentation/filesystems/vfat.txt|kDoc]] || MS & DR DOS FAT filesystem|| All? ||
||<<Anchor(freevxfs)>>freevxfs|| ||[[http://cateee.net/lkddb/web-lkddb/VXFS_FS.html|Doc]] ||Veritas Filesystem (VxFS) driver|| All? ||
||<<Anchor(fuse)>>fuse|| <<FootNote(FUSE doesn't provide any filesystem it-self. see 'apt-cache rdepends fuse-utils')>> ||[[http://kernel.org/doc/Documentation/filesystems/fuse.txt|kDoc]] ||Filesystem in Userspace (backend for various filesystems)|| All? ||
||<<Anchor(gfs2)>>gfs2|| N ||[[http://kernel.org/doc/Documentation/filesystems/gfs2.txt|kDoc]] ||Global File System|| All? ||
||<<Anchor(hfs)>>hfs|| I ||[[http://kernel.org/doc/Documentation/filesystems/hfs.txt|kDoc]] ||Macintosh HFS Filesystem || All? ||
||<<Anchor(hfsplus)>>hfsplus|| I ||[[http://kernel.org/doc/Documentation/filesystems/hfsplus.txt|kDoc]] ||HFSPlus / Extended Macintosh Filesystem|| All? ||
||<<Anchor(hpfs)>>hpfs|| I ||[[http://kernel.org/doc/Documentation/filesystems/hpfs.txt|kDoc]] || High Performance Filesys (OS/2's HPFS) || All? ||
||<<Anchor(isofs)>>isofs|| CD ||[[http://kernel.org/doc/Documentation/filesystems/isofs.txt|kDoc]] || CD/DVD filesystem (ISO-9660 / ECMA-119)|| All? ||
||<<Anchor(jbd2)>>jbd2|| || || Generic filesystem journal-writing code (for ext4)|| Squeeze ||
||<<Anchor(jbd)>>jbd || || || Generic filesystem journal-writing code (for ext2/ext3)|| All? ||
||<<Anchor(jffs2)>>jffs2|| MTD ||[[http://www.sourceware.org/jffs2|Doc]] ||The Journalling Flash File System, v2|| All? ||
||<<Anchor(minix)>>minix|| || || Minix native filesystem. (was used in Linux before ExtFS!) || All? ||
||<<Anchor(msdos)>>msdos|| I ||[[http://kernel.org/doc/Documentation/filesystems/msdos.txt|kDoc]] ||MS-DOS filesystem support|| All? ||
||<<Anchor(ncpfs)>>ncpfs|| ||[[http://kernel.org/doc/Documentation/filesystems/ncpfs.txt|kDoc]] || Netware NCP network protocol || All? ||
||<<Anchor(nfs)>>[[NFS|nfs]]|| N ||[[http://kernel.org/doc/Documentation/filesystems//nfs/nfs.txt|kDoc]] || Networks Filesystem || All? ||
||<<Anchor(ntfs)>>[[NTFS|ntfs(depreciated)]]|| I ||[[http://kernel.org/doc/Documentation/filesystems/ntfs.txt|kDoc]] ||NTFS 1.2/3.x driver - Copyright (c) 2001-2007 Anton Altaparmakov|| All? ||
||<<Anchor(ocfs2)>>ocfs2|| ||[[http://kernel.org/doc/Documentation/filesystems/ocfs2.txt|kDoc]] ||OCFS2 1.3.3|| All? ||
||<<Anchor(omfs)>>omfs|| ||[[http://kernel.org/doc/Documentation/filesystems/omfs.txt|kDoc]] ||OMFS (ReplayTV/Karma) ''Optimized MPEG Filesystem''|| >= Squeeze ||
||<<Anchor(qnx4)>>qnx4|| ||[[WikiPedia:QNX4FS|WPedia]] || QNX (OS) Filesystem || All? ||
||<<Anchor(romfs)>>romfs|| ||[[http://kernel.org/doc/Documentation/filesystems/romfs.txt|kDoc]] || ROM filesystem. See DebianPkg:genromfs|| <= Etch ||
||<<Anchor(sysv)>>sysv|| ||[[http://kernel.org/doc/Documentation/filesystems/sysv-fs.txt|kDoc]] ||System V, V7 and Coherent and Xenix filesystems || All? ||
||<<Anchor(ubifs)>>ubifs|| MTD ||[[http://www.mjmwired.net/kernel/Documentation/filesystems/ubifs.txt|kDoc]] ||UBIFS - UBI File System|| => Squeeze ||
||<<Anchor(udf)>>udf|| CD ||[[http://kernel.org/doc/Documentation/filesystems/udf.txt|kDoc]] ||Universal Disk Format Filesystem|| All? ||
||<<Anchor(ufs)>>ufs|| ||[[http://kernel.org/doc/Documentation/filesystems/ufs.txt|kDoc]] || ''Unix'' filesystem, used in BSDs, SunOS, Nextstep, Openstep... ||All? ||
||<<Anchor(vfat)>>vfat|| I ||[[http://kernel.org/doc/Documentation/filesystems/vfat.txt|kDoc]] ||VFAT filesystem support|| All? ||
||<<Anchor(zfs)>>[[ZFS|zfs]]|| ||[[https://github.com/zfsonlinux/zfs/wiki|upstream doc]] ||The Z File System|| => Stretch (DKMS) ||

##TAG:FS_LIST_END

<<Anchor(features)>>
Features Legend :
 * '''R'''oot: Suitable for system file system (like root and /usr...).
 * '''I'''nteroperability: The filesystem is mostly implemented for Interoperability.
 * '''D'''istributed: file system.
 * '''N'''etwork Filesystem.
 * '''S'''parsefile support
 * '''CD''': Suitable for CD and/or DVD, etc.
 * '''MTD''': Suitable for MTD devices.


Hints :

 To list the FS types supported by your kernel, read its ''config'' file, run :
 {{{
awk '/# File systems/,/# Partition Types/' /boot/config-$(uname -r)* | pager
}}}
~- {{{#!wiki comment
awk '/# File systems/,/# Partition Types/' /boot/config-2.6.28-1-686
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=m
CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=m
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=m
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
# CONFIG_XFS_DEBUG is not set
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=m
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
# CONFIG_OCFS2_COMPAT_JBD is not set
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m
CONFIG_GENERIC_ACL=y

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
CONFIG_ADFS_FS=m
# CONFIG_ADFS_FS_RW is not set
CONFIG_AFFS_FS=m
CONFIG_ECRYPT_FS=m
CONFIG_HFS_FS=m
CONFIG_HFSPLUS_FS=m
CONFIG_BEFS_FS=m
# CONFIG_BEFS_DEBUG is not set
CONFIG_BFS_FS=m
CONFIG_EFS_FS=m
CONFIG_JFFS2_FS=m
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=m
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBIFS_FS_DEBUG is not set
CONFIG_CRAMFS=m
CONFIG_VXFS_FS=m
CONFIG_MINIX_FS=m
CONFIG_OMFS_FS=m
CONFIG_HPFS_FS=m
CONFIG_QNX4FS_FS=m
CONFIG_ROMFS_FS=m
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_ACL_SUPPORT=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUNRPC_REGISTER_V4 is not set
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_SPKM3=m
# CONFIG_SMB_FS is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
CONFIG_CIFS_WEAK_PW_HASH=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
# CONFIG_CIFS_DEBUG2 is not set
CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_NCP_FS=m
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
CONFIG_NCPFS_NFS_NS=y
CONFIG_NCPFS_OS2_NS=y
# CONFIG_NCPFS_SMALLDOS is not set
CONFIG_NCPFS_NLS=y
CONFIG_NCPFS_EXTRAS=y
CONFIG_CODA_FS=m
CONFIG_AFS_FS=m
# CONFIG_AFS_DEBUG is not set
CONFIG_9P_FS=m

#
# Partition Types
}}}-~
 To list the FS modules available in your kernel :
 {{{
find /lib/modules/$(uname -r)/kernel/fs/
}}}

 To list the FS supported by your running kernel and currently loaded modules :
 {{{
cat /proc/filesystems
}}}

<<Anchor(fuse)>>
== FUSE Filesystems ==
You can get the list of FS supported by through FUSE, by looking at the reverse dependencies on the package {{{fuse-utils}}}. At the time of writing :
## for x in $(apt-cache rdepends fuse-utils | awk '/Reverse Depends:/,/END/' | grep -v "Reverse Depends:" | grep -v " libfuse" | sort ) ; do echo "||DebianPkg:$x || $(apt-cache show $x | grep "Description" | head -n 1 | sed -e 's/^[^:]*://') ||" ; done
||<rowstyle="background-color:#e0e0e0">'''Package name''' || '''Description''' || '''Distributions''' ||
||DebianPkg:aptfs || FUSE filesystem for APT source repositories || All ||
||DebianPkg:avfs || virtual filesystem to access archives, disk images, remote locations || All ||
||DebianPkg:beaglefs || implements a filesystem representing a live Beagle query || Sid ||
||DebianPkg:cryptkeeper || EncFS system tray applet for GNOME || All ||
||DebianPkg:curlftpfs || filesystem to access FTP hosts based on FUSE and cURL || All ||
||DebianPkg:davfs2 || mount a WebDAV resource as a regular file system || All ||
||DebianPkg:encfs || encrypted virtual filesystem || All ||
||DebianPkg:flickrfs || virtual filesystem for flickr online photosharing service || All ||
||DebianPkg:funionfs || user-space directory concatenation || ? ||
||DebianPkg:fusedav || filesystem to mount WebDAV shares || All ||
||DebianPkg:fuseext2 || File System in User Space - Module for ext2 || All ||
||DebianPkg:fusefat || File System in User Space - Module for FAT || All ||
||DebianPkg:fuseiso || FUSE module to mount ISO filesystem images || All ||
||DebianPkg:fuseiso9660 || File System in User Space - Module for ISO9660 || All ||
||DebianPkg:fusesmb || filesystem client based on the SMB file transfer protocol || All ||
||DebianPkg:glusterfs-client || clustered file-system || All ||
||DebianPkg:gmailfs || Use your GMail account as a filesystem || ? ||
||DebianPkg:gphotofs || filesystem to mount digital cameras || All ||
||DebianPkg:libpam-encfs || PAM module to automatically mount encfs filesystems on login || All ||
||DebianPkg:libpam-mount || PAM module that can mount volumes for a user session || All ||
||DebianPkg:ltspfs || Fuse based remote filesystem for LTSP thin clients || All ||
||DebianPkg:mhddfs || file system for unifying several mount points into one || All ||
||DebianPkg:mtpfs || FUSE filesystem for Media Transfer Protocol devices || All ||
||DebianPkg:mythtvfs || userspace filesystem client for MythTV || All ||
||DebianPkg:ntfs-3g || read/write NTFS driver for FUSE || >= Wheezy ||
||DebianPkg:ntfsprogs ('''depreciated''')|| tools for doing neat things in NTFS partitions from Linux || All ||
||DebianPkg:obexfs || mount filesystem of ObexFTP capable devices || All ||
||DebianPkg:plptools || Access EPOC device (Psion PDA) over a serial link || All ||
||DebianPkg:pytagsfs || maps media files to an arbitrary directory structure || All ||
||DebianPkg:rofs || Read-Only Filesystem for FUSE || All ||
||DebianPkg:s3ql || Full-featured file system for online data storage || All ||
||DebianPkg:sshfs || filesystem client based on SSH File Transfer Protocol || All ||
||DebianPkg:umview-mod-umfuseext2 || View-OS in user space - ext2 module for UMFUSE || All ||
||DebianPkg:umview-mod-umfusefat || View-OS in user space - FAT module for UMFUSE || All ||
||DebianPkg:umview-mod-umfuseiso9660 || View-OS in user space - ISO9660 module for UMFUSE || All ||
||DebianPkg:unionfs-fuse || Fuse implementation of unionfs || All ||
||DebianPkg:wikipediafs || View and edit Wikipedia articles as if they were real files || All ||
||DebPkg:zfs-fuse || implementation of Sun's ZFS filesystem in userspace|| >=Squeeze ||
{{{#!wiki comment
Here's the tool (and current results) to generate the list above.
apt-cache rdepends fuse-utils libfuse-perl python-fuse libfuse2 | sort -u | grep ^\
  aptfs
  avfs
  beaglefs
  cryptkeeper
  curlftpfs
  encfs
  flickrfs
  funionfs
  fusedav
  fuseext2
  fusefat
  fuseiso
  fuseiso9660
  fusesmb
  glusterfs-client
  gmailfs
  gphotofs
  libfuse2
  libfuse-dev
  libfuse-perl
  libpam-mount
  ltspfs
  mhddfs
  mtpfs
  mythtvfs
  ntfsprogs
  obexfs
  plptools
  pytagsfs
  rofs
  sshfs
  sshfs-dbg
  unionfs-fuse
  wikipediafs
}}}

== Special file systems ==
Some sample use cases for special file systems:

 aufs, unionfs :: can be used to mount two filesystems, the one one on top of the other. This is typically to mount a ramdisk on top of a (read-only!) cdrom... so it's virtually possible to "write" and modify the files. (of course, in this situation the data is lost on reboot)

 xmount :: allows mounting .vmdk (VMware) and .vdi(!VirtualBox) image.

== See also ==
 * Documents in the [[http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.28.y.git;a=tree;f=Documentation|/usr/share/doc/linux-doc-2.6.26/Documentation/filesystems/]] kernel module documentation (in package [[DebianPkg:linux-doc-2.6]] or above)


ToDo: Some modules provides 2 filesystems (for {{{mount -t}}}). e.g loading {{{sysv}}} provides {{{sysv}}} and {{{v7}}} in {{{/proc/filesystems}}}.

----

CategorySystemAdministration CategoryStorage

Translation(s): English - Français - Italiano - 简体中文

From Wikipedia:

In computing, a file system or filesystem (often abbreviated to fs), controls how data is stored and retrieved. Without a file system, information placed in a storage medium would be one large body of data with no way to tell where one piece of information stops and the next begins. A file system separates the data into pieces and gives each piece a name. Each group of data is called a "file".

There are many different kinds of file systems. Each one has different structure and logic, properties of speed, flexibility, security, size and more.

Files and directories themselves are placed on top of the file system, therefore it is common to refer to the file/directory structure itself as "file system". On GNU/Linux, the Filesystem Hierarchy Standard defines the naming scheme and hierarchy between files and directories themselves.

File systems usually sit on top of hard disk partitions or LVM volumes. In Debian, ext4 is the default file system for new installations.

GNU/Linux can be installed on any filesystem that supports some special constructs (file permissions, symbolic links and device files).

Many file systems are journaling, meaning they are able to prevent data loss on system crashes or power failures.


Mounting a filesystem

In GNU/Linux the contents of a filesystem can be made available under a directory, by mounting the filesystem over the directory. Here are some ways to mount a filesystem:

  • The mount command. For example mount /dev/sdd1 /mn/ would make contents of the first partition of the /dev/sdd disk device, available in the /mnt/ directory.

  • Editing the fstab file

Filesystems available in Debian Linux kernel

Note0: Debian HURD and Debian kFreeBSD have other file systems.

Note1: the Features list are incomplete at this time.

Note2: This table is uptodate as of 2.6.28 kernel.

Filesystem name

Features?

Documentation(s)

Description

Distributions

File systems often used as linux system partition

ext4

R

kDoc

(default filesystem in Debian) Fourth Extended Filesystem with extents

>= Squeeze

ext2

RS

kDoc, WPedia

Second Extended Filesystem

All?

ext3

RS

kDoc, WPedia

Second Extended Filesystem with journaling extensions

All?

ext4dev

R

kDoc

Fourth Extended Filesystem with extents
not for production, in development

Etch-n-Half ~ Lenny

jfs

R

kDoc

The Journaled Filesystem (JFS)

All?

xfs

R

kDoc

SGI XFS Filesystem

All?

reiserfs

R

kDoc

ReiserFS journaled filesystem

All?

Other File systems

9p

kDoc

Plan 9 9p remote filesystem protocol

All?

adfs

kDoc

Acorn (and Risc OS) Advanced Disc Filing System

All?

affs

I

kDoc

Amiga filesystem support for Linux

All?

kafs

N

kDoc

AFS Client File System

All?

autofs4

old HowTo

Auto-mount filesystems. See autofs

All?

autofs

old HowTo

Auto-mount filesystems. See autofs

All?

befs

I

kDoc

BeOS File System (BeFS) driver

All?

bfs

I

kDoc

SCO UnixWare BFS filesystem for Linux

All?

btrfs

RS

kDoc

B-Tree filesystem

>= Jessie

cifs

N I

kDoc

VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows

All?

coda

kDoc

Coda Distributed File System VFS interface

All?

configfs

kDoc

Simple RAM filesystem for user driven kernel subsystem configuration.

All?

cramfs

kDoc

cram a filesystem onto a small ROM

All?

dlm

kDoc

Distributed Lock Manager

All?

ecryptfs

kDoc

eCryptfs

All?

efs

upstream doc FS HowTo

SGI EFS, Extent File System (Irix <0.6)

All?

fat

I

kDoc

MS & DR DOS FAT filesystem

All?

freevxfs

Doc

Veritas Filesystem (VxFS) driver

All?

fuse

1

kDoc

Filesystem in Userspace (backend for various filesystems)

All?

gfs2

N

kDoc

Global File System

All?

hfs

I

kDoc

Macintosh HFS Filesystem

All?

hfsplus

I

kDoc

HFSPlus / Extended Macintosh Filesystem

All?

hpfs

I

kDoc

High Performance Filesys (OS/2's HPFS)

All?

isofs

CD

kDoc

CD/DVD filesystem (ISO-9660 / ECMA-119)

All?

jbd2

Generic filesystem journal-writing code (for ext4)

Squeeze

jbd

Generic filesystem journal-writing code (for ext2/ext3)

All?

jffs2

MTD

Doc

The Journalling Flash File System, v2

All?

minix

Minix native filesystem. (was used in Linux before ExtFS!)

All?

msdos

I

kDoc

MS-DOS filesystem support

All?

ncpfs

kDoc

Netware NCP network protocol

All?

nfs

N

kDoc

Networks Filesystem

All?

ntfs(depreciated)

I

kDoc

NTFS 1.2/3.x driver - Copyright (c) 2001-2007 Anton Altaparmakov

All?

ocfs2

kDoc

OCFS2 1.3.3

All?

omfs

kDoc

OMFS (ReplayTV/Karma) Optimized MPEG Filesystem

>= Squeeze

qnx4

WPedia

QNX (OS) Filesystem

All?

romfs

kDoc

ROM filesystem. See genromfs

<= Etch

sysv

kDoc

System V, V7 and Coherent and Xenix filesystems

All?

ubifs

MTD

kDoc

UBIFS - UBI File System

=> Squeeze

udf

CD

kDoc

Universal Disk Format Filesystem

All?

ufs

kDoc

Unix filesystem, used in BSDs, SunOS, Nextstep, Openstep...

All?

vfat

I

kDoc

VFAT filesystem support

All?

zfs

upstream doc

The Z File System

=> Stretch (DKMS)

Features Legend :

  • Root: Suitable for system file system (like root and /usr...).

  • Interoperability: The filesystem is mostly implemented for Interoperability.

  • Distributed: file system.

  • Network Filesystem.

  • Sparsefile support

  • CD: Suitable for CD and/or DVD, etc.

  • MTD: Suitable for MTD devices.

Hints :

  • To list the FS types supported by your kernel, read its config file, run :

    awk '/# File systems/,/# Partition Types/' /boot/config-$(uname -r)* | pager

  • To list the FS modules available in your kernel :
    find /lib/modules/$(uname -r)/kernel/fs/
    To list the FS supported by your running kernel and currently loaded modules :
    cat /proc/filesystems

FUSE Filesystems

You can get the list of FS supported by through FUSE, by looking at the reverse dependencies on the package fuse-utils. At the time of writing :

Package name

Description

Distributions

aptfs

FUSE filesystem for APT source repositories

All

avfs

virtual filesystem to access archives, disk images, remote locations

All

beaglefs

implements a filesystem representing a live Beagle query

Sid

cryptkeeper

EncFS system tray applet for GNOME

All

curlftpfs

filesystem to access FTP hosts based on FUSE and cURL

All

davfs2

mount a WebDAV resource as a regular file system

All

encfs

encrypted virtual filesystem

All

flickrfs

virtual filesystem for flickr online photosharing service

All

funionfs

user-space directory concatenation

?

fusedav

filesystem to mount WebDAV shares

All

fuseext2

File System in User Space - Module for ext2

All

fusefat

File System in User Space - Module for FAT

All

fuseiso

FUSE module to mount ISO filesystem images

All

fuseiso9660

File System in User Space - Module for ISO9660

All

fusesmb

filesystem client based on the SMB file transfer protocol

All

glusterfs-client

clustered file-system

All

gmailfs

Use your GMail account as a filesystem

?

gphotofs

filesystem to mount digital cameras

All

libpam-encfs

PAM module to automatically mount encfs filesystems on login

All

libpam-mount

PAM module that can mount volumes for a user session

All

ltspfs

Fuse based remote filesystem for LTSP thin clients

All

mhddfs

file system for unifying several mount points into one

All

mtpfs

FUSE filesystem for Media Transfer Protocol devices

All

mythtvfs

userspace filesystem client for MythTV

All

ntfs-3g

read/write NTFS driver for FUSE

>= Wheezy

ntfsprogs (depreciated)

tools for doing neat things in NTFS partitions from Linux

All

obexfs

mount filesystem of ObexFTP capable devices

All

plptools

Access EPOC device (Psion PDA) over a serial link

All

pytagsfs

maps media files to an arbitrary directory structure

All

rofs

Read-Only Filesystem for FUSE

All

s3ql

Full-featured file system for online data storage

All

sshfs

filesystem client based on SSH File Transfer Protocol

All

umview-mod-umfuseext2

View-OS in user space - ext2 module for UMFUSE

All

umview-mod-umfusefat

View-OS in user space - FAT module for UMFUSE

All

umview-mod-umfuseiso9660

View-OS in user space - ISO9660 module for UMFUSE

All

unionfs-fuse

Fuse implementation of unionfs

All

wikipediafs

View and edit Wikipedia articles as if they were real files

All

zfs-fuse

implementation of Sun's ZFS filesystem in userspace

>=Squeeze

Special file systems

Some sample use cases for special file systems:

aufs, unionfs
can be used to mount two filesystems, the one one on top of the other. This is typically to mount a ramdisk on top of a (read-only!) cdrom... so it's virtually possible to "write" and modify the files. (of course, in this situation the data is lost on reboot)
xmount

allows mounting .vmdk (VMware) and .vdi(VirtualBox) image.

See also

ToDo: Some modules provides 2 filesystems (for mount -t). e.g loading sysv provides sysv and v7 in /proc/filesystems.


CategorySystemAdministration CategoryStorage

  1. FUSE doesn't provide any filesystem it-self. see 'apt-cache rdepends fuse-utils' (1)