Fuse-3.16.2

Introduction à Fuse

FUSE (Système de fichier en espace utilisateur) est une interface simple pour permettre aux programmes en espace utilisateur d'exporter des systèmes de fichiers virtuels vers le noyau Linux. Fuse essaye de fournir une méthode sécurisée pour que les utilisateurs non privilégiés puisse créer et monter leurs propres implémentations de systèmes de fichiers.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

Dépendances de Fuse

Facultatives

Doxygen-1.10.0 (pour reconstruire la documentation de l'API), pytest-8.0.0 (requis pour les tests) et looseversion (pour les tests)

Configuration du noyau

Activez les options suivantes dans la configuration du noyau et recompilez le noyau si nécessaire :

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]

Les périphériques de caractères en espace utilisateurs doivent également être activés pour lancer les tests :

File systems --->
  <*/M> FUSE (Filesystem in Userspace) support                         [FUSE_FS]
  <*/M>   Character device in Userspace support                           [CUSE]

Installation de Fuse

Installez Fuse en exécutant les commandes suivantes :

sed -i '/^udev/,$ s/^/#/' util/meson.build &&

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release .. &&
ninja

La documentation de l'API est incluse dans ce paquet, mais si vous avez installé Doxygen-1.10.0 et souhaitez la reconstruire, lancez :

pushd .. &&
  doxygen doc/Doxyfile &&
popd

Pour tester les résultats, exécutez les commandes suivantes (en tant qu'utilisateur root) :

python3 -m venv --system-site-packages testenv &&
source testenv/bin/activate                    &&
pip3 install looseversion                      &&
python3 -m pytest
deactivate

Le module Python pytest-8.0.0 est requis pour les tests. Un test nommé test_cuse échouera si l'élément de configuration CONFIG_CUSE n'était pas activé à la compilation du noyau. Un test, test/util.py affichera un avertissementà cause de l'utilisation d'une marque inconnue dans pytest. Un test nommé test_notify_inval_entry[True-expire_entries] peut échouer sous certaines conditions.

Maintenant, en tant qu'utilisateur root :

ninja install                  &&
chmod u+s /usr/bin/fusermount3 &&

cd ..                          &&
cp -Rv doc/html -T /usr/share/doc/fuse-3.16.2 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.16.2

Explication des commandes

sed ... util/meson.build : Cette commande désactive l'installation d'un script de démarrae et d'une règle udev qui ne sont pas requis.

--buildtype=release : spécifie le type de construction convenant aux versions stables de ce paquet, comme la valeur par défaut produit des binaires non optimisés.

Configuration de fuse

Fichiers de configuration

Certaines options concernant la politique de montage peuvent être indiquées dans le fichier /etc/fuse.conf. Pour installer le fichier lancez la commande suivante en tant qu'utilisateur root :

cat > /etc/fuse.conf << "EOF"
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
#user_allow_other
EOF

Des informations supplémentaires sur la signification des options de configuration peuvent être trouvées dans la page de manuel.

Contenu

Programmes installés: fusermount3 et mount.fuse3
Bibliothèques installées: libfuse3.so
Répertoire installé: /usr/include/fuse3 et /usr/share/doc/fuse-3.16.2

Descriptions courtes

fusermount3

est un programme suid root pour monter et démonter des systèmes de fichiers Fuse

mount.fuse3

est la commande que mount appelle pour monter un système de fichiers Fuse

libfuse3.so

contient les fonctions de l'API de FUSE