FUSE: Unterschied zwischen den Versionen
Zeile 91: | Zeile 91: | ||
NTFS-3G – Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard. | NTFS-3G – Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard. | ||
gio mount – Auch das GIO/GVfs verwendet FUSE | gio mount – Auch das GIO/GVfs verwendet FUSE | ||
== Weblinks == | == Weblinks == |
Version vom 22. Januar 2023, 12:29 Uhr
FUSE (Filesystem in Userspace) ist ein Kernel-Modul für Unix-Systeme, um Dateisystem-Treiber in den User-Mode zu verlagern
Beschreibung
- 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]]
Installation
Anwendungen
Fehlerbehebung
Syntax
Optionen
Parameter
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5
TMP
Verwendung
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.
FUSE (Filesystem in USErspace) ist ein Linux-Kernel-Modul, das es ermöglicht, Dateisystem-Treiber aus dem Kernel-Modus in den User-Modus zu verlagern. Es erlaubt auch nicht-privilegierten Benutzern, eigene Dateisysteme zu aktivieren ("mount"). Weil die Dateisystemtreiber im User-Modus laufen, braucht man sich beim Programmieren nicht mit den Beschränkungen und Besonderheiten des Kernel-Modes auseinanderzusetzen, was die Entwicklung stark vereinfacht, daher sind eine Vielzahl von Treibern entstanden. Einige bilden statt Festplatten und anderen Speichermedien ganz andere Datenstrukturen in Form eines navigierbaren Dateisystems ab (Quelle). Konfiguration
Die FUSE-Kernelmodule sind standardmäßig bei aktuellen Versionen des Linux-Kernels enthalten. Ansonsten muss ggf. noch das folgende Paket installiert werden [5]:
sudo apt-get install fuse
- Hinweis
-
- Damit man FUSE benutzen kann, muss man bis einschließlich Ubuntu 18.04 LTS den Benutzer, der das FUSE-Kernelmodul benutzen will, zur Gruppe fuse hinzufügen
- Die Zuordnung des Benutzers zur Gruppe wird erst nach einem erneuten Anmelden aktiv
Seit Ubuntu 20.04 LTS kann FUSE standardmäßig von jedermann benutzt werden; eine Gruppe fuse ist deshalb nicht eingerichtet.
Anschließend muss das Modul fuse geladen [2] werden. Damit es nach einem Neustart des Rechners auch funktioniert, sollte man den Eintrag in die Datei /etc/modules nicht vergessen. Optionen
FUSE besitzt eine Reihe globaler Optionen, welche bei allen Modulen benutzt werden können. Die wohl wichtigsten sind -o allow_other und -o allow_root. Hierbei wird der Zugriff auf das eingehängte Dateisystem für andere Benutzer erlaubt. Damit diese Optionen verwendet werden können, muss allerdings zuerst die Konfigurationsdatei /etc/fuse.conf in einem Editor mit Root-Rechten [1] mit folgendem Inhalt angelegt werden:
mount_max = 999 user_allow_other
Die am häufigsten gebrauchten FUSE-Module
sshfs – Entfernte Rechner in das System einbinden NTFS-3G – Erweiterter Schreib-/Lesezugriff auf NTFS-Partitionen. Ist in Ubuntu Standard. gio mount – Auch das GIO/GVfs verwendet FUSE
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
- DokanY: Eine Implementierung von FUSE für Windows
- IBM developerWorks: Develop your own filesystem with FUSE, englischsprachiger Artikel (2006/2014)
- Jake Edge: Character devices in user space. Artikel bei lwn.net, 25. November 2008