Filesystem in Userspace

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Die Funktionsweise von FUSE: Es gibt zwar ein Kernel-Modul, aber die eigentliche Programmlogik (libfuse) läuft im Userspace (oben). Das zugreifende Programm ls (links-oben) greift wie über ein normales Dateisystem darauf zu, erst das Kernelmodul leitet den Aufruf um.
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. Es erlaubt damit nicht-privilegierten Benutzern, eigene Dateisysteme zu mounten. Mit Hilfe von FUSE lassen sich unter GNU/Linux, FreeBSD, OpenSolaris oder Mac OS X die meisten existierenden Dateisysteme wie NTFS oder UDF einbinden.

Aufgrund der Verwendung des auch für normale Anwendungsprogramme üblichen User-Mode – dank dessen sich der Programmcode nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen muss – ist eine Vielzahl von Treibern entstanden. Einige dieser Dateisystem-Treiber bilden statt Festplatten und anderen Speichermedien ganz andere Datenstrukturen in Form eines navigierbaren Dateisystems ab.

Bekannte Dateisysteme und -Treiber[Bearbeiten]

  • NTFS-Zugriff
    • Captive – ermöglicht sicheren Schreibzugriff auf NTFS-Partitionen durch Einbindung des originalen Windows-Treibers ntfs.sys mit Hilfe einer Kompatibilitätsschicht
    • NTFS-3G
    • ntfsmount[1] (aus dem Linux-ntfs-Projekt) erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung
  • EncFS (Encrypted Filesystem) – Verschlüsseltes pass-through-Dateisystem ähnlich dem CFS
  • GmailFS ermöglicht es, Google-Mail-Postfächer als Dateiablage zu verwenden
  • GnomeVFS2 FUSE ist eine Schnittstelle zum Gnome Virtual Filesystem
  • SSHFS ermöglicht es, ein Laufwerk über SSH zu mounten
  • ZFS on FUSE[2] 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.
  • LoggedFS[3] loggt Operationen im Dateisystem
  • Verschiedene Projekte zum Mounten von WebDAV-Ressourcen, bekannt sind u.a. davfs2[4], fusedav[5] und wdfs[6].
  • mysqlfs[7] ermöglicht es, Daten in einer MySQL-Datenbank abzulegen
  • glusterFS[8], ein Cluster-Dateisystem
  • WikipediaFS[9] ermöglicht das Arbeiten mit Artikeln aus dem Bestand einer MediaWiki-Installation (und somit nicht nur der Wikipedia), als wären es normale Textdateien
  • gPhotoFS bindet die Bilderschnittstelle von Digitalkameras als Massenspeicher ein.
  • curlftpfs einbinden der Daten eines FTP-Servers (beispielsweise persönliche Daten bei einem WebHoster ins lokale Filesystem einbinden)
  • CloudFusion [10] einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und WebDAV Accounts

Geschichte[Bearbeiten]

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.

Siehe auch[Bearbeiten]

  • LUFS ist ein Projekt mit den gleichen Zielen, welches jedoch nie in den offiziellen Linux-Kernel aufgenommen wurde und mittlerweile nicht mehr aktiv weiterentwickelt wird.
  • CUSE (Character Devices in Userspace), ist ein Kernel-Modul für zeichenorientierte Geräte unter Unix, das auf Fuse basiert.

Einzelnachweise[Bearbeiten]

  1. http://www.linux-ntfs.org/
  2. http://zfs-on-fuse.blogspot.com/
  3. http://loggedfs.sourceforge.net/
  4. http://savannah.nongnu.org/projects/davfs2, zudem in der Lage, sich mit Client-Zertifikaten zu authentifizieren.
  5. http://0pointer.de/lennart/projects/fusedav/
  6. http://noedler.de/projekte/wdfs/
  7. http://sourceforge.net/projects/mysqlfs/
  8. http://www.gluster.org/
  9. http://wikipediafs.sourceforge.net
  10. http://wiki.ubuntuusers.de/CloudFusion

Weblinks[Bearbeiten]