Fuse-3.13.1

Introdução a Fuse

FUSE (Filesystem in Userspace) é uma interface simples para aplicativos do espaço de usuário(a) para exportar um sistema de arquivos virtual para o núcleo Linux. O Fuse também visa a fornecer um método seguro para usuários(as) não privilegiados(as) criarem e montarem as próprias implementações de sistema de arquivos deles(as).

Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.

Informação do Pacote

Dependências do Fuse

Opcionais

Doxygen-1.9.6 (para reconstruir a documentação da API) e pytest-7.2.1 (exigido para testes)

Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fuse

Configuração do Núcleo

Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:

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

Os dispositivos de caracteres no espaço do usuário(a) também deveriam ser habilitados para executar os testes:

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

Instalação do Fuse

Instale Fuse executando os seguintes comandos:

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

mkdir build &&
cd   build &&

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

A documentação da API está incluída no pacote, mas se você tiver o Doxygen-1.9.6 instalado e quiser reconstruí-la, [então] emita:

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

Para testar os resultados, execute (como o(a) usuário(a) root):

python3 -m pytest test/

O módulo Python pytest-7.2.1 é exigido para os testes. Um teste chamado test_cuse falhará se o item de configuração CONFIG_CUSE não estiver habilitado quando o núcleo foi construído. Dois testes, test_ctests.py e test_examples.py produzirão um aviso, porque um módulo obsoleto Python é usado.

Agora, como o(a) usuário(a) root:

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

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

Explicações do Comando

sed ... util/meson.build: Esse comando desabilita a instalação de um script de inicialização e de uma regra udev que não são necessários(as).

--buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados.

Configurando fuse

Arquivos de Configuração

Algumas opções relacionadas à política de montagem podem ser configuradas no arquivo /etc/fuse.conf. Para instalar o arquivo, execute o seguinte comando como o(a) usuário(a) root:

cat > /etc/fuse.conf << "EOF"
# Configura o número máximo de montagens FUSE permitidas para usuários(as) não root.
# O padrão é 1000.
#
#mount_max = 1000

# Permitir que usuários(as) não root especifiquem as
# opções de montagem 'allow_other' ou 'allow_root'.
#
#user_allow_other
EOF

Informação adicional a respeito do significado das opções de configuração são encontradas na página de manual.

Conteúdo

Aplicativos Instalados: fusermount3 e mount.fuse3
Bibliotecas Instaladas: libfuse3.so
Diretório Instalado: /usr/include/fuse3 e /usr/share/doc/fuse-3.13.1

Descrições Curtas

fusermount3

é um aplicativo raiz suid para montar e desmontar sistemas de arquivos Fuse

mount.fuse3

é o comando mount chamado para montar um sistema de arquivos Fuse

libfuse3.so

contém as funções da API do FUSE