Zum Inhalt springen

Filesystem in Userspace

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Linux Userland Filesystem)
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.

Verwendung[Bearbeiten]

FUSE entstand aus der Notwendigkeit heraus, Benutzern mit Standardrechten die Einbindung (Mounten) von Dateisystemen ins System eines Computers zu ermöglichen. Üblicherweise wurden Dateisysteme nur auf Festplatten angelegt, die in einen Rechner fest verbaut wurden und deshalb gleich nach dem Einbau vom Administrator (oder dem Nutzer per Administratorenkonto) durch die Installation des passenden Treibers verfügbar gemacht wurden. Mit dem Aufkommen von mobilen Massendatenspeichern wie z. B. USB-Sticks oder externen Datensicherungssystemen zu günstigeren Preisen wurde es notwendig, Nutzern auch ohne Administratorenrechte die Installation und Verwaltung solcher Geräte zu ermöglichen. FUSE wird mit administrativen Rechten ins System eingebunden (installiert) und stellt danach nichtprivilegierten Computerbenutzern (mit Standardrechten) dieselben Funktionen zur Verfügung.

FUSE ist das laufwerksspezifische Modul (für die angeschlossene Hardware) und benötigt zur Einbindung des darauf enthaltenen Dateisystems zusätzlich den jeweils passenden dateisystemspezifischen Treiber. Der wohl bekannteste ist NTFS-3G, welches den Zugriff auf die weit verbreiteten NTFS-Dateisysteme (Windows) ermöglicht. Mit Hilfe von FUSE lassen sich unter GNU/Linux, FreeBSD, OpenSolaris, Mac OS X oder Android die meisten existierenden Dateisysteme wie NTFS oder UDF (DVDs) einbinden. Da FUSE-Dateisysteme – wie normale Anwendungsprogramme – im Benutzermodus (User-Mode) laufen, muss sich der Entwickler nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinandersetzen. FUSE-Dateisystemtreiber 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.

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. Durch Re-Implementation unter der ISC-Lizenz (Veröffentlichung: März 2013<ref>[Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am 2020-10-26;.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>) wurde die Einbettung in OpenBSD erleichtert, was im Juni 2013 geschah.<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);.Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Seit Linux-Kernel 2.6.31<ref>Julius Stiebert: Linux-Kernel 2.6.31 unterstützt USB 3.0. Golem, 10. September 2009</ref> und NetBSD 5.0.<ref>Announcing NetBSD 5.0. The NetBSD Project (netbsd.org)</ref> ist CUSE ein integrierter Treiber innerhalb von FUSE.

Skriptfehler: Ein solches Modul „Vorlage:Anker“ ist nicht vorhanden. Ein in den Zielen ähnliches Projekt war das Linux Userland Filesystem (LUFS), das mit der Einführung von FUSE jedoch an Bedeutung verloren hat und nicht mehr aktiv weiterentwickelt wurde.

Bekannte Dateisysteme und -Treiber[Bearbeiten]

Name Beschreibung Quelle
Captive Ermöglicht sicheren Schreibzugriff auf NTFS-Partitionen durch Einbindung des originalen Windows-Treibers ntfs.sys mit Hilfe einer Kompatibilitätsschicht (Entwicklung eingestellt)
CloudFusion Einbinden von Dropbox, Sugarsync, Amazon S3, Google Storage und WebDAV Accounts <ref><templatestyles src="Webarchiv/styles.css" />Vorlage:Webarchiv/WaybackSkriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Vorlage:Webarchiv/Wartung/URLSkriptfehler: Ein solches Modul „TemplUtl“ ist nicht vorhanden.</ref>
CryFS (Cryptographic Filesystem) Verschlüsseltes Dateisystem für Dropbox oder andere Cloud-Anbieter. <ref>Sebastian Messmer: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
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, sich mit Client-Zertifikaten zu authentifizieren. <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
EncFS (Encrypted Filesystem) Verschlüsseltes pass-through-Dateisystem ähnlich dem CFS
exFAT Ermöglicht das Lesen und Schreiben auf Flash-Medien mit exFAT <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
fusedav Erlaubt den Zugriff auf WebDAV-Ressourcen <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
glusterFS Ein Cluster-Dateisystem <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
GmailFS Ermöglicht es, Google-Mail-Postfächer als Dateiablage zu verwenden
GnomeVFS2 FUSE Ist eine Schnittstelle zum Gnome Virtual File System
gPhotoFS Bindet die Bilderschnittstelle von Digitalkameras als Massenspeicher ein
LoggedFS Loggt Operationen im Dateisystem <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
mysqlfs Ermöglicht es, Daten in einer MySQL-Datenbank abzulegen <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
NTFS-3G Ermöglicht Schreib- und Lesezugriff auf NTFS <ref name="golem-46531">Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);.Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
ntfsmount Erlaubt das Mounten von NTFS-Partitionen mit Schreibunterstützung (aus dem Linux-ntfs-Projekt) <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
s3fs Ermöglicht das Mounten von Amazon Web Services Object Storage (Amazon S3) <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. s3fs-fuse, Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);.Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
SSHFS Ermöglicht es, ein Laufwerk über SSH zu mounten <ref>David Wolski: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. In: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar);.Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
wdfs Erlaubt den Zugriff auf WebDAV-Ressourcen <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
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 <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
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. (Entwicklung eingestellt) <ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar);Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />