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.
Transferência (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.16.1/fuse-3.16.1.tar.gz
Soma de verificação MD5 da transferência: 578498e1035e1039525430c0694f60b7
Tamanho da transferência: 14 MB
Espaço em disco estimado exigido: 230 MB (com testes e documentação)
Tempo de construção estimado: 0,2 UPC (adicionar 0,3 UPC para testes)
Doxygen-1.9.7 (para reconstruir a documentação da API), pytest-7.4.0 (exigido para testes) e looseversion (para testes)
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]
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
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.
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.