Filesystem in Userspace
Filesystem in UserSpacE, en français : « système de fichiers en espace utilisateur », souvent abrégé FUSE, est un logiciel libre permettant à un utilisateur sans privilèges particuliers d'accéder à un système de fichiers sans qu'il soit nécessaire de modifier les sources du noyau.
Dernière version | 3.14.1 ()[1] |
---|---|
DĂ©pĂ´t | github.com/libfuse/libfuse |
Écrit en | C |
Système d'exploitation | Type Unix |
Type | Interface |
Licence | Licence publique générale limitée GNU version 2.0 (d) et licence publique générale GNU version 2 |
Site web | github.com/libfuse/libfuse |
FUSE est sous licence libre GNU GPL et GNU LGPL.
Le code s'exécute en espace utilisateur : le module FUSE ne fait que fournir un pont vers l'interface du noyau.
FUSE est particulièrement utile pour écrire un VFS (virtual file system) : un système de fichiers traditionnel doit principalement sauvegarder et retrouver des données, alors qu'un système de fichiers virtuel ne stocke pas les données lui-même. Il agit comme une vue ou une traduction d'un système de fichiers existant ou d'un périphérique de stockage. En principe, toute ressource utilisable via une implémentation de FUSE peut être exportée comme un système de fichiers ; voir Exemples.
Le système FUSE était à l'origine une partie de AVFS[2](A Virtual FileSystem), mais il s'en est séparé et est devenu un projet à part entière de SourceForge.net.
FUSE est utilisable sous Linux (Ă partir de 2.6.14[3]), FreeBSD, NetBSD, OpenBSD, OpenSolaris, Mac OS X et MorphOS.
NetBSD
NetBSD a son propre système de fichiers en espace utilisateur : le framework PUFFS (NetBSD) (en) (Pass-to-Userspace Framework File System) avec une première couche de compatibilité FUSE appelée refuse, qui réimplémente l'interface haut niveau de la bibliothèque libfuse.
Certains systèmes de fichiers FUSE utilisent l'interface de bas niveau de libfuse, ou directement l'interface noyau FUSE. Ils ne peuvent donc pas être pris en charge par refuse. Une deuxième couche de compatibilité FUSE, appelée perfuse, a été mise au point pour traiter ce problème. perfuse émule l'interface noyau de FUSE et permet donc le support de tout système de fichiers FUSE, éventuellement via la libfuse.
Exemples
- Tagsistant : système de fichier sémantique permettant d'appliquer des étiquettes aux fichiers
- NTFS-3G : accès en lecture et écriture à NTFS.
- Captive NTFS[4] : accès en lecture à NTFS.
- SSHFS : accès via SSH à un système de fichiers.
- GmailFS : système de fichiers virtuel pour utiliser la messagerie Gmail comme espace de stockage.
- WikipediaFS : voir et éditer des articles de Wikipedia comme s'ils étaient des fichiers réels.
- EncFS (en) : système de fichiers virtuel et chiffré.
- iPodDisk[5] : utiliser le système MacFUSE pour afficher des parties cachées du système de fichiers des iPod.
- RozoFS (en) : système de fichiers distribué tolérant aux pannes, modérant la quantité de redondance.
Une liste de systèmes de fichiers FUSE peut être trouvée sur le site de GitHub[6].
Notes et références
- « Release 3.14.1 », (consulté le )
- A Virtual Filesystem (AVFS) sur le site de SourceForge
- Linuxfr : Sortie du noyau 2.6.14
- (en) ntfsmount de CaptiveNTFS
- (en) iPodDisk
- (en) Liste des systèmes de fichiers auxquels FUSE donne accès
Voir aussi
Articles connexes
- v9fs (en) : logiciel permettant lui aussi d'implémenter un système de fichiers en espace utilisateur, via le protocole réseau 9P
- 9P (en) : protocole réseau 9P
- Davfs2 (en) : module linux pour WebDAV
- Plan 9 from Bell Labs