Ceci est une ancienne révision du document !



FUSE, système de fichier dans l'espace utilisateur

Avec FUSE, abréviation de Filesystem in Userspace il est possible d'implémenter toutes les fonctionnalités d'un système de fichier dans un espace utilisateur. Ces fonctionnalités incluent :

  • une API de librairie simple ;
  • une installation simple (pas besoin de patcher ou recompiler le noyau) ;
  • une implémentation sécurisée ;
  • utilisable dans l'espace utilisateur.

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…
SMB for Fuse 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 ISO9660 sur son système de fichier. Site…
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 :

Avec Edgy Eft 6.10, et versions suivantes…la section suivante est inutile : l'installation des paquets effectue les modifications et ajouts nécessaires pour vous. Fuse est utilisable immédiatement.

Versions antérieures à 6.10

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, exemple :

sudo adduser toto fuse

Rappel : pour que l'ajout dans le groupe soit pris en compte, il faut se logguer de nouveau avec cet utilisateur. Sans cela, vous devrez etre root pour utiliser fuse (erreur récurrente)

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é.

Note : certains programmes (exemple : ntfs-3g) peuvent exiger une version du noyau plus récente que celle qui existe dans les deb. pour vous faire profiter des tout derniers pilotes. Il vous faudra donc le compiler. Regardez-ici : fuse_compilation

Disponible dans les dépôt d'Ubuntu

Peu de programmes utilisant fuse sont packagé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/ # où toutes autres actions
~$ fusermount -u tmp # libère le point de montage

Non disponible dans les dépôt d'Ubuntu

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)

Utilisation détaillée

SshFS

SMB For Fuse

CurlFtpFs

EncFs

  • fuse.1191659680.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)