Fuse-3.16.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 corretamente usando uma plataforma LFS 12.0.

Informação do Pacote

Dependências do Fuse

Opcionais

Doxygen-1.9.7 (para reconstruir a documentação da API), pytest-7.4.0 (exigido para testes) e looseversion (para testes)

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                         [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                         [FUSE_FS]
  <*/M>   Character device in Userspace support                           [CUSE]

Instalação do Fuse

Instale Fuse executando os seguintes comandos:

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

mkdir build &&
cd    build &&

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

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

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

Para testar os resultados, emita os seguintes comandos (como o(a) usuário(a) root):

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

O módulo Python pytest-7.4.0 é exigido para os testes. Um teste chamado test_cuse falhará se o item de configuração CONFIG_CUSE não foi habilitado quando o núcleo foi construído. Um teste, test/util.py, gerará um aviso devido ao uso de uma marca desconhecida no pytest. Um teste chamado test_notify_inval_entry[True-expire_entries] possivelmente falhe sub certas circunstâncias.

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

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

cd ..                          &&
cp -Rv doc/html -T /usr/share/doc/fuse-3.16.1 &&
install -v -m644   doc/{README.NFS,kernel.txt} \
                   /usr/share/doc/fuse-3.16.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.16.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