Sistema de archivos en el espacio de usuario

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Interfaz de software para sistemas similares a unix

Sistema de archivos en el espacio de usuario (FUSE) es una interfaz de software para Unix y sistemas operativos similares a Unix que permite a los usuarios sin privilegios crear sus propios sistemas de archivos sin editar el kernel. código. Esto se logra ejecutando el código del sistema de archivos en el espacio del usuario, mientras que el módulo FUSE proporciona solo un puente hacia las interfaces reales del kernel.

FUSE está disponible para Linux, FreeBSD, OpenBSD, NetBSD (como puffs), OpenSolaris, Minix 3, macOS y Windows.

FUSE es un software gratuito lanzado originalmente bajo los términos de la Licencia pública general GNU y la Licencia pública general reducida GNU.

Historia

El sistema FUSE era originalmente parte de AVFS (Un sistema de archivos virtual), una implementación de sistema de archivos fuertemente influenciada por el concepto de traducción de GNU Hurd. Reemplazó al sistema de archivos Linux Userland y proporcionó una interfaz de traducción usando lufis en libfuse1.

FUSE se lanzó originalmente bajo los términos de la Licencia Pública General GNU y la Licencia Pública General Reducida GNU, luego también se reimplementó como parte del sistema base FreeBSD y se lanzó bajo los términos de la licencia BSD simplificada. En marzo de 2013 se lanzó una reimplementación con licencia ISC realizada por Sylvestre Gallon y se incorporó a OpenBSD en junio de 2013.

FUSE se fusionó con el árbol principal del kernel de Linux en la versión 2.6.14 del kernel.

El lado del espacio de usuario de FUSE, el libfuse biblioteca, generalmente siguió el ritmo del desarrollo del kernel de Linux manteniendo la compatibilidad "mejor esfuerzo" con los descendientes de BSD. Esto es posible porque el núcleo FUSE reporta sus propios "nivel de alimentación", o versiones. La excepción es el tenedor FUSE para macOS, OSXFUSE, que tiene demasiadas diferencias para compartir una biblioteca. Una ruptura en la historia de la libfuse es libfuse3, que incluye algunas mejoras incompatibles en la interfaz y el rendimiento, en comparación con la libfuse2 anterior ahora bajo modo de mantenimiento.

Como el protocolo de espacio de usuario del núcleo de FUSE tiene versiones y es público, un programador puede optar por utilizar un fragmento de código diferente en lugar de libfuse y seguir comunicándose con el núcleo. Instalaciones FUSE de Madrid. Por otro lado, libfuse y sus numerosos puertos proporcionan una interfaz portátil de alto nivel que puede implementarse en un sistema sin un "FUSE" instalación.

Operación y uso

Un diagrama de diagrama de flujo que muestra cómo funciona FUSE: Solicitud desde el espacio de usuario a los archivos de lista (ls -l /tmp/fuse) se redirige por el kernel a través de VFS a FUSE. FUSE ejecuta entonces el programa de manipulador registrado (./hello) y lo transmite la solicitud (ls -l /tmp/fuse). El programa handler devuelve una respuesta a FUSE que luego se redirige al programa del espacio de usuario que originalmente hizo la solicitud.

Para implementar un nuevo sistema de archivos, un programa de manipuladores vinculado al suministrado libfuse la biblioteca necesita ser escrita. El objetivo principal de este programa es especificar cómo el sistema de archivos es responder a las solicitudes de read/write/stat. El programa también se utiliza para montar el nuevo sistema de archivos. En el momento en que se monta el sistema de archivos, el manipulador está registrado con el núcleo. Si un usuario emite ahora solicitudes de lectura/escritura para este nuevo sistema de archivos montado, el kernel envía estas IO-requests al manejador y luego envía la respuesta del manejador al usuario.

Desmontando un sistema de archivos basado en FUSE con el fusermount comando

FUSE es particularmente útil para escribir sistemas de archivos virtuales. A diferencia de los sistemas de archivos tradicionales que esencialmente funcionan con datos en almacenamiento masivo, los sistemas de archivos virtuales en realidad no almacenan datos por sí mismos. Actúan como una vista o traducción de un sistema de archivos o dispositivo de almacenamiento existente.

En principio, cualquier recurso disponible para una implementación FUSE se puede exportar como un sistema de archivos.

Aplicaciones

Sistemas de archivos en disco

Los sistemas de archivos en disco convencionales se pueden implementar en el espacio del usuario con FUSE, p. por motivos de compatibilidad o licencia.

  • Tape lineal Sistema de Archivo: Permite que los archivos almacenados en cinta magnética sean accedidos de forma similar a los de disco o unidades flash extraíbles.
  • NTFS-3G and Captive NTFS, allowing access to NTFS filesystems.
  • retro-fuse: retro-fuse es un sistema de archivos de espacio-usuario que proporciona una manera de montar sistemas de archivos creados por sistemas antiguos Unix en sistemas operativos modernos. La versión actual de retro-fuse admite sistemas de archivos de montaje creados por quinto, sexto y séptima edición de Research Unix de BTL, así como sistemas basados en 2.9BSD y 2.11BSD.

Sistemas de archivos en capas

Los sistemas de archivos FUSE pueden crear una vista de un sistema de archivos subyacente, transformando los archivos de alguna manera.

  • EncFS: Sistema de archivos virtuales cifrados
  • FuseCompress, gzipfs, Fuse-ZIP, CompFUSEd: Compressed virtual filesystems
  • Los sistemas de archivos de archivos también pueden realizar esta tarea

Sistemas de archivos de archivado y copia de seguridad

Los sistemas de archivos FUSE pueden exponer el contenido de archivos comprimidos o conjuntos de copias de seguridad sin tener que extraerlos primero.

  • archivo
  • Atlas (software de copia de seguridad de Rubrik): Sistema de archivos Immutable y distribuido utilizado por las aplicaciones de protección de datos de Rubrik Cloud Data Management
  • Borg (soft de respaldo): Deduplicar el programa de copia de seguridad que permite montar archivos de respaldo como sistemas de archivos FUSE.
  • Restic: Software de copia de seguridad gratuito, rápido, eficiente y seguro utiliza FUSE para poder navegar por todas sus instantáneas de copia de seguridad como un sistema de archivos regular
  • SPFS Un sistema de archivos para Spectrum Protect, diseñado para montar el espacio de archivo del servidor de copia de seguridad en cualquier lugar del servidor, y utilizar las funciones incluidas en el servidor de copia de seguridad (encriptación, deduplicación, compresión, filtrado, etc). Este es un sistema de archivos WORM.

Clientes de sistema de archivos remotos/distribuidos

  • CernVM-FS: Un sistema de distribución de software solo lectura distribuido, implementado como un sistema de archivos POSIX en el espacio de usuario (FUSE) utilizando el transporte HTTP, para ofrecer software de forma rápida y confiable a escala global.
  • CloudStore (antes, sistema de archivos Kosmos): Al montar a través de FUSE, los servicios Linux existentes pueden interactuar con CloudStore
  • ExpanDrive: Un sistema de archivos comercial que implementa SFTP/FTP/S3/Swift utilizando FUSE
  • FTPFS
  • GlusterFS: Sistema de archivos distribuidos agrupados que tiene capacidad para escalar hasta varios petabytes.
  • Goofys: Un sistema de archivos FUSE que permite el acceso al almacenamiento Amazon S3/Microsoft Azure con un énfasis en el rendimiento.
  • google-drive-ocamlfuse es un sistema de archivos FUSE para Google Drive, escrito en OCaml. Te permite montar tu Google Drive en Linux.
  • IPFS: Un sistema de archivos distribuido entre pares que busca conectar todos los dispositivos informáticos con el mismo sistema de archivos.
  • JuiceFS: Un sistema de archivos POSIX distribuido construido sobre Redis y S3.
  • KBFS: Un sistema de archivos distribuido con encriptación de extremo a extremo y un espacio de nombres global basado en Keybase. io service that uses FUSE to create cryptographically secure file mounts.
  • El sistema de archivos Lustre Cluster utilizará FUSE para permitir que funcione en el espacio de usuario, de modo que sea posible un puerto FreeBSD. Sin embargo, el puerto ZFS-Linux de Lustre ejecutará el DMU de ZFS (Data Management Unit) en el espacio de usuario.
  • MinFS: MinFS es un controlador de fusibles para el servidor de almacenamiento de objetos compatible con Amazon S3. MinFS le permite montar un cubo remoto (de una tienda de objetos compatible con S3), como si fuera un directorio local.
  • MooseFS: Un sistema de archivos de código abierto distribuido disponible en cada sistema operativo con aplicación FUSE (Linux, FreeBSD, NetBSD, OpenSolaris, OS X), capaz de almacenar petabytes de datos distribuidos en varios servidores visibles como un recurso.
  • Nexfs: Un sistema de archivos Linux comercial que combina el almacenamiento Block, File y S3 compatible Cloud & Object en una sola piscina de almacenamiento compatible con POSIX.
  • ObjectiveFS: Distributed filesystem with object store backend (Amazon S3, Google Cloud Storage or S3-compatible object store) using FUSE
  • Rclone puede montar una variedad de almacenamiento remoto / cloud con FUSE.
  • s3fs: Da la capacidad de montar un cubo S3 como si fuera un sistema de archivos local.
  • Sistema de Archivo Sector: Sector es un sistema de archivos distribuido diseñado para gran cantidad de computadoras de productos básicos. Sector utiliza FUSE para proporcionar una interfaz de sistema de archivos local montable.
  • SSHFS: Proporciona acceso a un sistema de archivos remoto a través de SSH.
  • Transmitir: Un cliente FTP comercial que también añade la capacidad de montar servidores WebDAV, SFTP, FTP y Amazon S3 como discos en Finder, a través de MacFUSE.
  • WebDrive: Un sistema de archivos comercial que implementa WebDAV, SFTP, FTP, FTPS y Amazon S3
  • WikipediaFS: Ver y editar artículos de Wikipedia como si fueran archivos reales
  • Wuala: Fue un sistema de archivos distribuidos totalmente basado en Java y basado en múltiples plataformas. Utilizando FUSE, MacFUSE y CBFS Connect respectivamente para la integración del sistema de archivos, además de una aplicación basada en Java accesible desde cualquier navegador web habilitado por Java (servicio descontinuado en 2015).
  • IndexFS: Sistema de archivos agrupados de archivos remoto con acceso CURL transparente a archivos distribuidos.

Otro

  • GVfs: El sistema de archivos virtual para el escritorio GNOME
  • Rvault: Una tienda segura y autenticada para secretos y pequeños documentos usando encriptación de sobres con autenticación de contraseña única (OTP). Utiliza FUSE para exponer la bóveda como un sistema de archivos.
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save