File system in userspace
FUSE ( filesystem in userspace ) is a kernel module for Unix systems that enables file system drivers to be shifted from kernel mode to user mode .
use
FUSE was born out of the necessity to enable users with standard rights to integrate ( mount ) file systems into the system of a computer. Usually, file systems were only created on hard drives that were permanently installed in a computer and were therefore made available immediately after installation by the administrator (or the user via the administrator account) by installing the appropriate driver. With the advent of mobile mass storage devices such as B. USB sticks or external data backup systems at lower prices, it became necessary to enable users without administrator rights to install and manage such devices. FUSE is integrated into the system (installed) with administrative rights and then makes the same functions available to non-privileged computer users (with standard rights).
FUSE is the drive-specific module (for the connected hardware ) and additionally requires the appropriate file system-specific driver to integrate the file system it contains. The best known is NTFS-3G , which enables access to the widespread NTFS file systems ( Windows ). With the help of FUSE, most existing file systems such as NTFS or UDF ( DVDs ) can be integrated under GNU / Linux , FreeBSD , OpenSolaris , Mac OS X or Android . Since FUSE file systems - like normal application programs - run in user mode, the developer does not have to deal with the restrictions and special features of the kernel mode. FUSE file system drivers are therefore much easier to develop and maintain. This resulted in a large number of drivers which, in addition to storage media, also map completely different data structures as a navigable file system.
history
On October 15, 2004, the FUSE project was founded on SourceForge as a variant of the SHFS project. It was part of the mm kernel since January 15, 2005 before it was included in the official Linux kernel 2.6.14 on September 13, 2005 . The re-implementation under the ISC license (released March 2013) made it easier to embed in OpenBSD, which happened in June 2013.
Since Linux kernel 2.6.31 and NetBSD 5.0. CUSE is an integrated driver within FUSE.
A project with similar goals is the Linux Userland Filesystem (LUFS), which however has lost its importance with the introduction of FUSE and is no longer actively developed.
Known file systems and drivers
Surname | description | source |
---|---|---|
Captive | Enables secure write access to NTFS partitions by integrating the original Windows driver ntfs.sys with the help of a compatibility layer (development discontinued) | |
CloudFusion | Integration of Dropbox, Sugarsync, Amazon S3, Google Storage and WebDAV accounts | |
CryFS ( Cryptographic Filesystem ) | Encrypted file system for Dropbox or other cloud providers. | |
curlftpfs | Integration of the data of an FTP server (for example, integration of personal data into the local file system of a web host) | |
CUSE (Character Devices in Userspace) | Can communicate with applications running in user mode such as keyboards , mice, or other devices such as serial communications. | |
davfs2 | Allows access to WebDAV resources and is able to authenticate with client certificates . | |
EncFS ( Encrypted Filesystem ) | Encrypted pass-through file system similar to CFS | |
exFAT | Allows reading and writing to flash media with exFAT | |
fusedav | Allows access to WebDAV resources | |
glusterFS | A cluster file system | |
GmailFS | Allows Gmail mailboxes to be used as file storage | |
GnomeVFS2 FUSE | Is an interface to the Gnome Virtual Filesystem | |
gPhotoFS | Integrates the image interface of digital cameras as mass storage | |
LoggedFS | Logs operations in the file system | |
mysqlfs | Allows data to be stored in a MySQL database | |
NTFS-3G | Allows read and write access to NTFS | |
ntfsmount | Allows the mounting of NTFS partitions with write support (from the Linux ntfs project) | |
s3fs | Allows mounting of Amazon Web Services Object Storage ( Amazon S3 ) | |
SSHFS | Allows a drive to be mounted via SSH | |
wdfs | Allows access to WebDAV resources | |
WikipediaFS | Allows you to work with articles from a MediaWiki installation (and thus not just Wikipedia ) as if they were normal text files | |
ZFS on FUSE | Allows access to the modern 128-bit file system ZFS from Sun . Since ZFS is published under the CDDL , no direct integration into the Linux kernel is possible. The port was sponsored as part of the Google Summer of Code . (Development stopped) |
Web links
- Project site FUSE
- Official list of FUSE file systems ( Engl. )
- MacFUSE : An implementation of FUSE for Mac OS X , created as part of the Google Summer of Code
- DokanY : An implementation of FUSE for Windows
- IBM developerWorks : Develop your own filesystem with FUSE , English article (2006/2014)
- Jake Edge: Character devices in user space. Article on lwn.net, November 25, 2008
Individual evidence
- ↑ openbsd dev - tech - Fuse (and sshfs) support for OpenBSD. March 5, 2013, accessed July 15, 2015 .
- ↑ 'CVS: cvs.openbsd.org: src' - MARC. June 3, 2013, accessed July 15, 2015 .
- ↑ Julius Stiebert: Linux kernel 2.6.31 supports USB 3.0. Golem, September 10, 2009
- ↑ Announcing NetBSD 5.0. The NetBSD Project (netbsd.org)
- ↑ http://wiki.ubuntuusers.de/CloudFusion
- ↑ https://www.cryfs.org
- ↑ http://savannah.nongnu.org/projects/davfs2
- ↑ GitHub project page. Retrieved June 2, 2019 .
- ↑ http://0pointer.de/lennart/projects/fusedav/
- ↑ http://www.gluster.org/
- ↑ http://loggedfs.sourceforge.net/
- ↑ http://sourceforge.net/projects/mysqlfs/
- ↑ NTFS-3G: Full NTFS write access under Linux. In: golem.de. July 17, 2006, accessed July 15, 2015 .
- ↑ http://www.linux-ntfs.org/
- ↑ https://github.com/s3fs-fuse/s3fs-fuse/
- ↑ David Wolski: Toolbox: File access with sshfs - heise open. In: heise.de. July 23, 2012, accessed July 15, 2015 .
- ↑ http://noedler.de/projekte/wdfs/
- ↑ http://wikipediafs.sourceforge.net
- ↑ http://zfs-on-fuse.blogspot.com/