Avec FUSE, abréviation de Filesystem in Userspace1), il est possible d'implémenter toutes les fonctionnalités d'un système de fichier dans un espace utilisateur. Ces fonctionnalités incluent :
Aujourd'hui, pour monter un système de fichier, il faut être administrateur ou que celui-ci l'ait prévu dans « /etc/fstab » avec des informations en dur.
FUSE permet à un utilisateur de monter lui-même un système de fichier.
Pour profiter de FUSE, il faut des programmes qui exploitent sa bibliothèque et ces programmes sont nombreux. Voici ceux qui semblent les plus utiles (liste complète, en anglais) :
Nom | Fonction |
---|---|
SSHFS | Ce système de fichier est basé sur le SSH File Transfer Protocol. Il permet de monter une connexion ssh sur son système de fichier. Site… |
FuseSmb | Avec SMB for Fuse il est possible d'explorer le voisinage réseau samba (ou Windows / CIFS) comme s'il était votre propre système de fichier. Site… |
CurlFtpFS | CurlFtpFS est un système de fichier FTP basé sur curl. Site… |
EncFS | EncFS est un système de chiffrement de répertoire. Le module EncFS utilise la bibliothèque FUSE et un module du noyau Linux. Voir aussi encfs. Site… |
GmailFS | GmailFS fournit un système de fichier où l'on peut accéder à son espace de stockage Gmail. Site… |
CvsFS | Cvs fournit un système de fichier où l'on peut voir le contenu d'un dépôt CVS. Il est aussi possible d'effectuer des check in/out pour l'édition. Site… |
FuseISO | Permet de monter une image cd/dvd (ISO, BIN, MDF, etc.) sur son système de fichier. |
TrackerFS | Permet de monter des requêtes Tracker comme un répertoire. Tracker indexe (très) rapidement les métadonnées de vos documents. Site… (en cours de développement) |
Rien de plus simple sur Ubuntu :
Cependant, pour pouvoir l'utiliser, il faut rajouter fuse dans les modules chargés au démarrage :
sudo sh -c "echo fuse >> /etc/modules"
Si vous voulez en profiter sans redémarrer :
sudo modprobe fuse
Il faut ajouter les utilisateurs pouvant utiliser FUSE dans le groupe fuse :
sudo adduser $USER fuse
Une fois le module fuse chargé (redémarrage ou modprobe fuse), le module se matérialise par /dev/fuse, cependant les droits par défaut ne sont pas corrects.
sudo chgrp fuse /dev/fuse
Voilà, fuse est près à être utilisé.
Il faut ajouter les utilisateurs pouvant utiliser FUSE dans le groupe fuse :
$ sudo adduser $USER fuse
Peu de programmes utilisant Fuse sont empaquetés pour Ubuntu, cependant, il y a fuseiso, gmailfs, fusesmb et sshfs.
Exemple pour fuseiso :
sudo apt-get install fuseiso mkdir tmp fuseiso imageDeCD.iso tmp ls tmp/ # ou toutes autres actions fusermount -u tmp # libère le point de montage
La majorité des programmes devra être compilée par nos soins, mais rien de très compliqué.
Il faut installer les entêtes de fuse pour pouvoir compiler :
sudo apt-get install libfuse-dev
Le reste des indications sur les sites des programmes utilisant FUSE (bien souvent : ./configure && make && make install)
FUSAUTO permet de monter/démonter avec fuse en une seule commande, voir la documentation.