FUSE - Filesystem in Userspace

Yesterday, Slackware -current repo got a big update — mainly kernel related stuff. Besides, Pat moved ntfsprogs tgz from /extra to ap/, which now includes full read-write support when the NTFS filesystem is mounted with ntfsmount or -t fuse.ntfs. This feature requires FUSE, which is added by Pat too.
Now we Slackers won’t need to do much superfluous things ourselves to implementation full read-write support feature. I’m just a bit lazy, sometimes :-)

An simple intro from the FUSE website:

With FUSE it is possible to implement a fully functional filesystem in a userspace program.  Features include:

    * Simple library API
    * Simple installation (no need to patch or recompile the kernel)
    * Secure implementation
    * Userspace - kernel interface is very efficient
    * Usable by non privileged users
    * Runs on Linux kernels 2.4.X and 2.6.X
    * Has proven very stable over time

The following figure shows the path of a filesystem call:
fuse structure

Operating Systems FUSE Supportes are Linux-2.4.X, Linux-2.6.X, FreeBSD, NetBSD, Mac OS X, Windows, OpenSolaris, GNU/Hurd. Check this link for detail.

There are various types of Filesystems based on FUSE, like:

# ArchiveFileSystems - accessing files inside archives (tar, cpio, zip, etc.)
# CompressedFileSystems - accessing files in a compressed image (gz, zlib, LiveCDs, etc.)
# DatabaseFileSystems - storing files in a relational database (MySQL, BerkeleyDB, etc.) \
    or ones allowing searching using tags or SQL queries
# EncryptedFileSystems - storing files in a more secure way by using a secret key
# MediaFileSystems - storing files on media devices such as cameras and music players \
    or accessing and categorizing media files
# HardwareFileSystems - provide access to weird hardware
# MonitoringFileSystems - provide notification when a file changes
# NetworkFileSystems - storing files on remote computers, including file servers and web sites
# NonNativeFileSystems - traditional disk-based file systems that aren't standard on \
    Linux (NTFS, ZFS, etc.)
# UnionFileSystems - merging multiple file systems into a single tree
# VersioningFileSystems - file systems that remember old versions of files and ones which \
    provide access to version control systems

Check this link for up-to-date detail.

Post a Comment

Your email is never published nor shared. Required fields are marked *