-
Start eines Leitfadens zum Schreiben von FUSE-Dateisystemen in Python
- Nach einem Gespräch mit Eeveelweezel auf der DebConf22 erhielt der Autor eine Einladung, einen Vortrag bei der Chicago Python User Group vorzubereiten.
- Obwohl Python nicht häufig verwendet wird, wird es als Sprache unterrichtet, die Studierende leicht verstehen können.
- Ein einfaches Dateisystem namens FIUnamFS wird als Kursprojekt verwendet, und den Studierenden wird empfohlen, mit FUSE eine transparente Schnittstelle bereitzustellen.
-
Schwierigkeiten bei der Implementierung von FUSE-Dateisystemen
- Der Aufbau eines FUSE-basierten Dateisystems in Python ist nicht einfach.
- Es gibt verschiedene Beispiele und Webseiten, aber die meisten sind veraltet und schwer nachzuvollziehen.
- In Python existieren verschiedene Schnittstellen wie python-fuse, Pyfuse und Fusepy.
-
Start des GitLab-Projekts
- Um einen Leitfaden zum Schreiben eines FUSE-basierten Dateisystems in Python bereitzustellen, wurde ein GitLab-Projekt angelegt.
- Mehrere Aufgaben wurden Schritt für Schritt hinzugefügt, darunter Implementierungen von RAM-basierten und Pass-through-basierten Dateisystemen.
- Damit Studierende mit unterhaltsamen und nützlichen Beispielen lernen können, wurden Ideen wie ein DNS-Dateisystem, ein Dateisystem zur Echtzeit-Kompilierung von Markdown, ein Dekomprimierungs-Dateisystem und ein Dateisystem zum Entfernen von Kommentaren ergänzt.
-
Vortrags- und Bildungspläne
- Geplante Vorträge gibt es bei ChiPy sowie bei den Jornadas Regionales de Software Libre in Santa Fe, Argentinien, und bei nerdear.la in Mexiko-Stadt.
- Das Projekt soll mit Studierenden geteilt werden, um ihr Interesse an FUSE-Implementierungen in Python zu wecken.
-
Zusammenfassung von GN⁺
- Dieser Artikel bietet nützliche Informationen für alle, die sich für die Implementierung von FUSE-Dateisystemen in Python interessieren.
- Mit verschiedenen Beispielen und einer Schritt-für-Schritt-Anleitung hilft er Studierenden, das Thema leicht zu erlernen.
- Bemerkenswert ist der Versuch, die Schwierigkeiten der FUSE-Implementierung zu lösen; auch die Absicht, zur Python-Community beizutragen, wird positiv bewertet.
- Projekte mit ähnlicher Funktionalität sind unter anderem Dokan und WinFsp.
1 Kommentare
Hacker-News-Kommentar
Im libfuse-GitHub gibt es gute Beispiele, die die Komplexität von C/C++ noch erhöhen
passthrough.cspiegelt ein bestehendes Dateisystem, hat aber eine schlechte Performancepassthrough_fh.cist bei der Performance etwas besserpassthrough_ll.cist mit der Low-Level-API implementiert und von den drei Varianten die bestepassthrough_hp.ccist eine in C++ geschriebene HochleistungsvarianteNeben FUSE kann man auch über das 9p-Protokoll ein virtuelles Dateisystem implementieren
py9pwar besser als mitfuse-pythondiod 9p-ServerEs wurde ein Projekt begonnen, das Jira mithilfe von FUSE in ein Dateisystem umwandelt
issue-type-with-summarygelöstWer sich für FUSE interessiert, könnte sich auch für das CUSE-Projekt interessieren
Es gibt verschiedene FUSE-Mount-Optionen, und JuiceFS ist interessant, um Object Storage als POSIX-Dateisystem zu mounten
In letzter Zeit implementieren mehr Leute NFS-basierte Dateisysteme
rclonedasazuline/roséist ein Musikmanager mit virtuellem Dateisystem und bietet eine gute Codebasis zum LernenMit FUSE kann man Makefiles erlauben, einen DAG für beliebige Ressourcen zu definieren
Es wurde ein Python-FUSE-Dateisystem erstellt, um mit dokuwiki zu interagieren
easyfuseerstellt, der die Low-Level-API implementiert, die nichts mit dokuwiki zu tun hatEs wurde ein kleines Projekt geschrieben, das mit FUSE ein Git-Repository offenlegt
.git-Ordner werden alle Commits und Branches als eigene Ordner offengelegt