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.
Téléchargement (HTTP) : https://github.com/libfuse/libfuse/releases/download/fuse-3.16.2/fuse-3.16.2.tar.gz
Somme de contrôle MD5 : b00bf08b27ead4a9411578777e94a1cc
Taille du téléchargement : 14 Mo
Estimation de l'espace disque requis : 222 Mo (avec les tests et la documentation)
Estimation du temps de construction : 0,2 SBU (plus 0,3 SBU pour les tests)
Doxygen-1.10.0 (pour reconstruire la documentation de l'API), pytest-8.0.0 (requis pour les tests) et looseversion (pour les tests)
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]
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
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.
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.