Filesystem in Userspace

VFS: Virtuelles Dateisystem
NFS, Ext3, …: Dateisysteme
glibc: GNU-C-Bibliothek
FUSE (Filesystem in Userspace) ist ein Kernel-Modul für Unix-Systeme, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Mode in den User-Mode zu verlagern.
Verwendung
FUSE erlaubt damit nicht-privilegierten Benutzern, eigene Dateisysteme zu mounten. Mit Hilfe von FUSE lassen sich unter GNU/Linux, FreeBSD, OpenSolaris, Mac OS X oder Android die meisten existierenden Dateisysteme wie NTFS oder UDF einbinden.
Da FUSE-Dateisysteme – wie normale Anwendungsprogramme – im User-Mode laufen, muß sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen. FUSE-Dateisysteme sind daher erheblich einfacher zu entwickeln und zu warten. So entstand eine Vielzahl von Treibern, die neben Speichermedien auch ganz andere Datenstrukturen als navigierbares Dateisystem abbilden. Das wohl bekannteste ist NTFS-3G, welches den Zugriff auf die weit verbreiteten NTFS-Dateisysteme ermöglicht.
Geschichte
Am 15. Oktober 2004 wurde das FUSE-Projekt auf SourceForge gegründet, als Variante aus dem SHFS-Projekt hervorgehend. Seit dem 15. Januar 2005 war es Teil des mm-Kernels bevor es am 13. September 2005 in den offiziellen Linux-Kernel 2.6.14 aufgenommen wurde. Durch Re-Implementation unter der ISC-Lizenz (Veröffentlichung: März 2013[1]) wurde die Einbettung in OpenBSD erleichtert, was im Juni 2013 geschah. [2]
Seit Linux-Kernel 2.6.31[3] und NetBSD 5.0.[4] ist CUSE ein integrierter Treiber innerhalb von FUSE.
Ein in den Zielen ähnliches Projekt ist das Linux Userland Filesystem (LUFS), das mit der Einführung von FUSE jedoch an Bedeutung verloren hat und nicht mehr aktiv weiterentwickelt wird.
Bekannte Dateisysteme und -Treiber
Name | Beschreibung | Quelle |
---|---|---|
Captive | Ermöglicht sicheren Schreibzugriff auf NTFS-Partitionen durch Einbindung des originalen Windows-Treibers ntfs.sys mit Hilfe einer Kompatibilitätsschicht | |
CloudFusion | Einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und WebDAV Accounts | [5] |
curlftpfs | Einbinden der Daten eines FTP-Servers (beispielsweise persönliche Daten bei einem WebHoster ins lokale Filesystem einbinden) | |
CUSE (Character Devices in Userspace) | Kann mit Anwendungen, die im Benutzermodus laufen, wie Tastaturen, Mäusen oder anderen Geräten wie serieller Datenübertragung kommunizieren. | |
davfs2 | Erlaubt den Zugriff auf WebDAV-Ressourcen und ist in der Lage ist, sich mit Client-Zertifikaten zu authentifizieren. | [6] |
EncFS (Encrypted Filesystem) | Verschlüsseltes pass-through-Dateisystem ähnlich dem CFS | |
fusedav | Erlaubt den Zugriff auf WebDAV-Ressourcen | [7] |
glusterFS | Ein Cluster-Dateisystem | [8] |
GmailFS | Ermöglicht es, Google-Mail-Postfächer als Dateiablage zu verwenden | |
gPhotoFS | Bindet die Bilderschnittstelle von Digitalkameras als Massenspeicher ein | |
GnomeVFS2 FUSE | Ist eine Schnittstelle zum Gnome Virtual Filesystem | |
LoggedFS | Loggt Operationen im Dateisystem | [9] |
mysqlfs | Ermöglicht es, Daten in einer MySQL-Datenbank abzulegen | [10] |
NTFS-3G | Ermöglicht Schreib- und Lesezugriff aufn NTFS | [11] |
ntfsmount | Erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung (aus dem Linux-ntfs-Projekt) | [12] |
SSHFS | Ermöglicht es, ein Laufwerk über SSH zu mounten | [13] |
wdfs | Erlaubt den Zugriff auf WebDAV-Ressourcen | [14] |
WikipediaFS | Ermöglicht das Arbeiten mit Artikeln aus dem Bestand einer MediaWiki-Installation (und somit nicht nur der Wikipedia), als wären es normale Textdateien | [15] |
ZFS on FUSE | Erlaubt den Zugriff auf das moderne 128-bit-Dateisystem ZFS von Sun. Da ZFS unter der CDDL veröffentlicht ist, ist keine direkte Integration in den Linux Kernel möglich. Die Portierung wurde im Rahmen des Google Summer of Code gesponsert. | [16] |
Weblinks
- Projektseite FUSE
- Offizielle Liste aller FUSE-Dateisysteme (engl.)
- MacFUSE: Eine Implementierung von FUSE für Mac OS X, entstanden im Rahmen von Google Summer of Code
- IBM developerWorks: Develop your own filesystem with FUSE, englischsprachiger Artikel (2006)
- Jake Edge: Character devices in user space. Artikel bei lwn.net, 25. November 2008
Einzelnachweise
- ↑ openbsd dev - tech - Fuse (and sshfs) support for OpenBSD. 5. März 2013, abgerufen am 15. Juli 2015.
- ↑ 'CVS: cvs.openbsd.org: src' - MARC. 3. Juni 2013, abgerufen am 15. Juli 2015.
- ↑ Julius Stiebert: Linux-Kernel 2.6.31 unterstützt USB 3.0. Golem, 10. September 2009
- ↑ Announcing NetBSD 5.0. The NetBSD Project (netbsd.org)
- ↑ http://wiki.ubuntuusers.de/CloudFusion
- ↑ [1]
- ↑ http://0pointer.de/lennart/projects/fusedav/
- ↑ http://www.gluster.org/
- ↑ http://loggedfs.sourceforge.net/
- ↑ http://sourceforge.net/projects/mysqlfs/
- ↑ NTFS-3G: Voller NTFS-Schreibzugriff unter Linux. In: golem.de. 17. Juli 2006, abgerufen am 15. Juli 2015.
- ↑ http://www.linux-ntfs.org/
- ↑ David Wolski: Toolbox: Dateizugriffe mit sshfs – heise open. In: heise.de. 23. Juli 2012, abgerufen am 15. Juli 2015.
- ↑ http://noedler.de/projekte/wdfs/
- ↑ http://wikipediafs.sourceforge.net
- ↑ http://zfs-on-fuse.blogspot.com/