Filesystem in Userspace
Encyclopedia
Filesystem in Userspace (FUSE) is a loadable kernel module
Loadable Kernel Module
In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system...

 for Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

 computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s that lets non-privileged users create their own file system
File system
A file system 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 which contain it. A file system organizes data in an efficient manner and is tuned to the...

s without editing kernel code. This is achieved by running file system
File system
A file system 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 which contain it. A file system organizes data in an efficient manner and is tuned to the...

 code in user space
User space
A conventional computer operating system usually segregates virtual memory into kernel space and user space. Kernel space is strictly reserved for running the kernel, kernel extensions, and most device drivers...

 while the FUSE module provides only a "bridge" to the actual kernel interfaces.

Released under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 and the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...

, FUSE is free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

. The FUSE system was originally part of A Virtual Filesystem (AVFS), but has since split off into its own project on SourceForge.net
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...

.

FUSE is available for Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...

, NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...

 (as puffs
PUFFS (NetBSD)
Pass-to-Userspace Framework File System is a NetBSD kernel subsystem developed for running filesystems in userspace. It was added to NetBSD in the 5.0 release and has a FUSE compatibility layer allowing portability from other operating systems....

), OpenSolaris
OpenSolaris
OpenSolaris was an open source computer operating system based on Solaris created by Sun Microsystems. It was also the name of the project initiated by Sun to build a developer and user community around the software...

, and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

. It was officially merged into the mainstream Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

 tree in kernel version 2.6.14.

Virtual file system

FUSE is particularly useful for writing virtual file system
Virtual file system
A virtual file system or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way...

s. Unlike traditional file systems that essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing file system or storage device.

In principle, any resource available to a FUSE implementation can be exported as a file system.

Examples

  • Wuala
    Wuala
    Wuala is a secure online storage, file synchronization, versioning and backup, service, originally developed and run by Caleido Inc., which is now part of LaCie. Service is a combination of:...

    : A multi-platform, Java-based fully OS integrated distributed file system. Using FUSE, MacFUSE and Callback File System respectively for file system integration, in addition to a Java-based app accessible from any Java-enabled web browser.
  • MyVDrive: Fully OS integrated Internet file system using FUSE
  • WebDrive
    WebDrive
    WebDrive is an FTP client developed by South River Technologies. The latest version of the software is 10.00. Webdrive integrates WebDAV, FTP, Amazon S3 or SFTP so that linked server resources function as a mapped network drive....

    : A commercial filesystem implementing WebDAV
    WebDAV
    Web-based Distributed Authoring and Versioning is a set of methods based on the Hypertext Transfer Protocol that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers...

    , SFTP, FTP, FTPS and Amazon S3
    Amazon S3
    Amazon S3 is an online storage web service offered by Amazon Web Services. Amazon S3 provides storage through web services interfaces...

  • Transmit: A commercial FTP client that also adds the ability to mount WebDAV, SFTP, FTP and Amazon S3 servers as disks in Finder, via MacFUSE.
  • ExpanDrive
    ExpanDrive
    ExpanDrive is a Network file system client for Mac OS X and Microsoft Windows that facilitates mapping of local volume to any SFTP server the user can access. It also can connect to FTP servers and Amazon S3. When a server is mounted with ExpanDrive any program can read, write, and manage remote...

    : A commercial filesystem implementing SFTP/FTP/FTPS using FUSE
  • GlusterFS
    GlusterFS
    GlusterFS is a scale-out NAS file system developed by Gluster. It aggregates various storage servers over Ethernet or Infiniband RDMA interconnect into one large parallel network file system. GlusterFS is based on a stackable user space design without compromising performance. It has found a...

    : Clustered Distributed Filesystem having capability to scale up to several petabytes.
  • SSHFS
    SSHFS
    In computing, SSHFS is a filesystem client to mount and interact with directories and files located on a remote server or workstation...

    : Provides access to a remote filesystem through SSH
    Secure Shell
    Secure Shell is a network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers that it connects via a secure channel over an insecure network: a server and a client...

  • FTPFS
    FTPFS
    FTPFS refers to file systems that support access to a File Transfer Protocol server through standard file system application programming interfaces ....

  • GmailFS
    GmailFS
    GmailFS is a virtual file system originally developed by Richard Jones that uses a Gmail e-mail account for storage. GmailFS is written for Linux, but Windows and Mac OS X ports exist too. It originally was based on underlying SMTP and POP3 interation with gmail...

    : Filesystem which stores data as mail in Gmail
    Gmail
    Gmail is a free, advertising-supported email service provided by Google. Users may access Gmail as secure webmail, as well via POP3 or IMAP protocols. Gmail was launched as an invitation-only beta release on April 1, 2004 and it became available to the general public on February 7, 2007, though...

  • GAEDrive: A Network Storage based on Google App Engine
    Google App Engine
    Google App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...

  • gae-filestore: Virtual File System library on Google App Engine
    Google App Engine
    Google App Engine is a platform as a service cloud computing platform for developing and hosting web applications in Google-managed data centers. It virtualizes applications across multiple servers,...

  • GVFS
    GVFS
    GVFS is the virtual filesystem for the GNOME desktop, which allows users easy access to remote data via SFTP, FTP, WebDAV, SMB, and local data via HAL integration, OBEX and others....

    : The virtual filesystem for the GNOME desktop
  • EncFS
    EncFS
    EncFS is a Free FUSE-based cryptographic filesystem that transparently encrypts files, using an arbitrary directory as storage for the encrypted files....

    : Encrypted virtual filesystem
    Disk encryption
    Disk encryption is a special case of data at rest protection when the storage media is a sector-addressable device . This article presents cryptographic aspects of the problem...

  • NTFS-3G
    NTFS-3G
    NTFS-3G is an open source cross-platform implementation of the Microsoft Windows NTFS file system with read-write support. NTFS-3G often uses the FUSE file system interface, so it can run unmodified on many different operating systems. It is runnable on Linux, FreeBSD, NetBSD, OpenSolaris, BeOS,...

     and Captive NTFS
    Captive NTFS
    Captive NTFS is a discontinued open-source project within the Linux programming community, started by Jan Kratochvíl. It is a driver wrapper around the original Microsoft Windows NTFS file system driver using parts of ReactOS code...

    , allowing access to NTFS
    NTFS
    NTFS is the standard file system of Windows NT, including its later versions Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7....

     filesystems
  • WikipediaFS
    WikipediaFS
    WikipediaFS is a virtual filesystem which allows users to view and edit Wikipedia articles as if they were real files on a local disk drive. This enables a user to edit articles directly with any text editor. WikipediaFS is developed primarily by Mathieu Blondel on SourceForge.net.WikipediaFS is...

    : View and edit Wikipedia articles as if they were real files
  • Sun Microsystems
    Sun Microsystems
    Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

    's Lustre
    Lustre (file system)
    Lustre is a massively parallel distributed file system, generally used for large scale cluster computing. The name Lustre is a portmanteau word derived from Linux and cluster...

     cluster filesystem will use FUSE to allow it to run in userspace, so that a FreeBSD port is possible. However, the ZFS
    ZFS
    In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...

    -Linux port of Lustre will be running ZFS's DMU (Data Management Unit) in userspace.
  • archivemount
    Archivemount
    archivemount is a FUSE-based file system for Unix variants, including Linux. Its purpose is to mount archives to a mount point where it can be read from or written to as with any other file system...

  • LoggedFS http://loggedfs.sourceforge.net/: Logging of file system access
  • HDFS: FUSE bindings exist for the open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     Hadoop
    Hadoop
    Apache Hadoop is a software framework that supports data-intensive distributed applications under a free license. It enables applications to work with thousands of nodes and petabytes of data...

     distributed filesystem.
  • mtpfs
    Media Transfer Protocol
    The Media Transfer Protocol is a devised set of custom extensions to the Picture Transfer Protocol . Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol supports the transfer of music files on digital audio players and media files on portable media...

    : mounting MTP
    Media Transfer Protocol
    The Media Transfer Protocol is a devised set of custom extensions to the Picture Transfer Protocol . Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol supports the transfer of music files on digital audio players and media files on portable media...

     devices like Creative Zen music players
  • Sector File System
    Sector/Sphere
    Sector/Sphere is an open source software suite for high-performance distributed data storage and processing. It can be broadly compared to Google's GFS/MapReduce stack. Sector is a distributed file system targeting data storage over a large number of commodity computers...

    : Sector is a distributed file system designed for large amount of commodity computers. Sector uses FUSE to provide a mountable local file system interface.
  • CurlFtpFS
    CurlFtpFS
    CurlFtpFS is a filesystem for accessing FTP hosts based on FUSE and libcurl, which offers the following features amongst others:* SSLv3 and TLSv1 support;* the ability to connect through tunneling HTTP proxies;...

     Filesystem to access FTP
    File Transfer Protocol
    File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

    /SFTP
    SSH file transfer protocol
    In computing, the SSH File Transfer Protocol is a network protocol that provides file access, file transfer, and file management functionality over any reliable data stream...

     locations.
  • fuse-ext2 An open source ext2/ext3 file system. (Supports Mac OS X
    Mac OS X
    Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

     10.4 and later (Universal Binary
    Universal binary
    A universal binary is, in Apple parlance, an executable file or application bundle that runs natively on either PowerPC or Intel-manufactured IA-32 or Intel 64-based Macintosh computers; it is an implementation of the concept more generally known as a fat binary.With the release of Mac OS X Snow...

    ), using MacFuse)
  • Lessfs: inline data de-duplicating
    Data deduplication
    In computing, data deduplication is a specialized data compression technique for eliminating coarse-grained redundant data. The technique is used to improve storage utilization and can also be applied to network data transfers to reduce the number of bytes that must be sent across a link...

     filesystem for Linux that includes support for lzo or QuickLZ compression and encryption.
  • CloudStore
    CloudStore
    CloudStore is Kosmix's C++ implementation of Google File System. It parallels the Hadoop project, which is implemented in Java. CloudStore supports incremental scalability, replication, checksumming for data integrity, client side fail-over and access from C++, Java and Python...

     (formerly, Kosmos filesystem): By mounting via FUSE, existing Linux
    Linux
    Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

     utilities can interface with CloudStore.
  • MooseFS
    Moose File System
    Moose File System is a distributed file system developed by Gemius SA. The lead developer is Jakub Kruszona-Zawadzki. MooseFS aims to be fault-tolerant, scalable, POSIX compliant, general-purpose file system for datacenters...

    : An open source distributed fault-tolerant file system available on every OS with FUSE implementation (Linux, FreeBSD, NetBSD, OpenSolaris, MacOS X), capable of storing petabytes of data spread over several servers visible as one resource.
  • NagusFS: Filesystem representation of Nagios
    Nagios
    Nagios is a popular open source computer system and network monitoring software application. It watches hosts and services, alerting users when things go wrong and again when they get better....

     services.
  • NagiosFS (http://sourceforge.net/apps/mediawiki/fuse/index.php?title=NetworkFileSystems#NagiosFS): Filesystem representation of remote monitoring values.
  • CassandraFS (https://code.launchpad.net/cassandrafs): Filesystem over Cassandra (cassandra.apache.org).
  • ZFS
    ZFS
    In computing, ZFS is a combined file system and logical volume manager designed by Sun Microsystems. The features of ZFS include data integrity verification against data corruption modes , support for high storage capacities, integration of the concepts of filesystem and volume management,...

    : ZFS-Fuse-Linux implementation
  • fuse-zip: Allows to use zip files as a filesystem (supports writing)
  • OWFS http://www.owfs.org One-Wire File System giving access to 1-Wire
    1-Wire
    1-Wire is a device communications bus system designed by Dallas Semiconductor Corp. that provides low-speed data, signaling, and power over a single signal. 1-Wire is similar in concept to I²C, but with lower data rates and longer range. It is typically used to communicate with small inexpensive...

     devices via a file system directory structure.
  • TrueCrypt
    TrueCrypt
    TrueCrypt is a software application used for on-the-fly encryption . It is free and open source. It can create a virtual encrypted disk within a file or encrypt a partition or the entire storage device .- Operating systems :TrueCrypt supports Microsoft Windows, Mac OS X, and...

    : a software application used for on-the-fly encryption (OTFE). It can create a virtual encrypted disk within a file as well as encrypt a partition or entire storage device.
  • s3fs-FuseOverAmazonS3: A FUSE-based file system backed by Amazon S3. Mount a bucket as a local file system read/write. Store files/folders natively and transparently on AWS: Simple Storage Service.
  • s3fs-c: A file system backed by Amazon S3. Forked from s3fs and rewritten to be compatible with some other S3 clients such as AWS Management Console.
  • LR|FS http://www.formal.ie/fs: An Mac OS X file system for Adobe Lightroom catalogs. Requires MacFuse.

See also

  • 9P
    9P
    9P is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They represent windows, network connections, processes, and almost anything else available in the operating...

     the Plan9 operating system file protocol that preceded FUSE that provides many of the same features.
  • Installable File System
    Installable File System
    The Installable File System is a filesystem API in IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load drivers for file systems...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK