De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

GVfs (abreviatura de GNOME Virtual file system ) es el sistema de archivos virtual del espacio de usuario de GNOME diseñado para trabajar con la abstracción de E / S de GIO , una biblioteca disponible en GLib desde la versión 2.15.1. Instala varios módulos que son utilizados automáticamente por aplicaciones que utilizan las API de libgio. También hay soporte FUSE que permite que las aplicaciones que no usan GIO accedan a los sistemas de archivos GVfs.

Una causa de confusión es el hecho de que la abstracción del sistema de archivos utilizada por el kernel de Linux también se denomina capa del sistema de archivos virtual (VFS). Sin embargo, esto se encuentra en un nivel más bajo.

El modelo GVfs se diferencia de, por ejemplo , GnomeVFS , al que reemplaza, en que los sistemas de archivos deben montarse antes de usarse. Hay un demonio maestro ( gvfsd) que maneja la coordinación de montajes, y luego cada montaje está (típicamente) en su propio proceso de demonio (aunque los montajes pueden compartir el proceso de demonio).

GVfs viene con un conjunto de back-end, que incluye soporte para basura, SFTP , FTP , WebDAV , SMB y datos locales a través de integración Udev , OBEX , MTP y otros. [2] GVfs no parece ser compatible con los archivos transferidos a través del protocolo de shell (FISH).

GVfs también contiene módulos para GIO que implementan monitores de volumen y la configuración del controlador de esquema de URI de GNOME.

Hay un conjunto de argumentos para el programa de línea de comandos "gio" que le permite ejecutar comandos (como cat, ls, stat, mount, etc.) en archivos en los montajes de GVfs.

Los recursos adjuntos se exponen a través de una sintaxis de URI , por ejemplo, smb: // server01 / gamedata o ftp: // username: [email protected]/public_html, pero también se montan de la manera tradicional en ~/.gvfs/o /run/user/$UID/gvfso en el $XDG_RUNTIME_DIR/gvfsdirectorio [3] [4] para que estén disponibles para aplicaciones que utilicen E / S y comandos POSIX estándar .

Detalles técnicos [ editar ]

La opción x-gvfs-showpara el proceso gvfs-udisks2-volume-monitor determina si un dispositivo montado se muestra o no [5] en los archivos GNOME . Captura de pantalla de los discos GNOME .

Junto con las API generalmente útiles, como las redes y la compatibilidad con D-Bus, GIO también proporciona una API VFS para las aplicaciones. GVfs proporciona implementaciones que van más allá y permiten acceder a archivos y almacenamiento utilizando muchos protocolos. GVfs proporciona implementaciones para varios sistemas de archivos de red como módulos cargables. Además, GVfs también proporciona soporte para basura, red o carpetas recientes, para grabación de CD y para monitorear dispositivos y volúmenes interesantes en la computadora.

El objetivo de GVfs ha sido superar las deficiencias de GnomeVFS [6] y proporcionar una API que sea tan buena que los desarrolladores la prefieran a las llamadas POSIX sin procesar. Entre otras cosas, eso significa usar GObject. También significa no clonar la API POSIX, sino proporcionar interfaces de nivel superior centradas en documentos. GTK puede usarlo directamente, por ejemplo, en el selector de archivos.

Las aplicaciones usan GVfs indirectamente, mediante GIO cargando el módulo GVfs que implementa los puntos de extensión GIO. El demonio principal de GVfs, gvfsd, genera demonios de montaje adicionales para cada conexión individual. El soporte de GVfs para el monitoreo de volumen se incluye en un módulo cargable separado.

La implementación real de GVfs se distribuye en varios procesos.

GVfs puede usar FUSE para montar su VFS directamente en el sistema de archivos. [7] Consta de dos partes: [8]

  1. una biblioteca compartida que se carga con aplicaciones que admiten GIO
  2. GVfs en sí, que contiene una colección de demonios que se comunican entre sí y con el módulo GIO a través de D-Bus .

Una colección de utilidades de línea de comandos (como gvfs-mount, gvfs-less) funciona con recursos VFS. [9]

  • https://developer.gnome.org/gio/stable/ch01.html#gvfs-overview

Consulte https://wiki.gnome.org/Projects/gvfs/backends para obtener la documentación oficial.

Conexión en caliente [ editar ]

Los dispositivos conectados a través de eSATA o USB son (se supone que son) físicamente conectables en caliente . Cuando un dispositivo está físicamente conectado o eliminado físicamente del sistema informático, el kernel de Linux se da cuenta y envía un evento al espacio de usuario. systemd-udevdrecibe tales eventos y responde a ellos de acuerdo con su configuración bastante completa:

  • administra el sistema de archivos especial en el que se montan devfs /dev, por lo que systemd-udevd crea y elimina dinámicamente nodos de dispositivo de / dev, también carga los controladores según sea necesario en el momento del arranque
  • en caso de un dispositivo de bloqueo systemd-udevd notifica udisksd, gvfsdy gvfs-udisks2-volume-monitor. [12]

El demonio udisks2 udisksdsirve como interfaz para los dispositivos de bloque del sistema, implementado a través de D-Bus. Maneja operaciones como consultar, montar, desmontar, formatear o desconectar dispositivos de almacenamiento como discos duros o memorias USB. Este paquete también proporciona la udisksctlutilidad, que se puede utilizar para activar estas operaciones desde la línea de comandos (si PolicyKit lo permite).

Embalaje [ editar ]

En Debian, GVfs está empaquetado en cuatro paquetes: gvfs , gvfs-daemons , gvfs-bin y gvfs-backends .

Ver también [ editar ]

  • GNOME Files, the file manager for Gnome desktops, allows users to interact with GVfs filesystems
  • Thunar, the file manager for the Xfce desktop environment, also provides filesytem abstraction using the GVfs library
  • KIO, a similar facility for KDE systems
  • Archivemount, a virtual filesystem implementation specifically for accessing archive files

References[edit]

  1. ^ "GNOME git repository of GVfs".
  2. ^ GNOME 2.22 Release Notes, 6.1: GVfs and GIO
  3. ^ "gvfsd-fuse.1 - manned.org". manned.org. Retrieved 18 April 2018.
  4. ^ "Nautilus' remote folder default mount point". askubuntu.com. Retrieved 18 April 2018.
  5. ^ a b "udisks2/what-is-shown.txt"..
  6. ^ "Plans for gnome-vfs replacement". mail.gnome.org. Retrieved 18 April 2018.
  7. ^ "gvfs status report". mail.gnome.org. Retrieved 18 April 2018.
  8. ^ "Using GNOMEvfs to manipulate files", Linux.com
  9. ^ "OpenSolaris 2009.06 - man page for gvfs-mount (opensolaris section 1) - Unix & Linux Commands". www.unix.com. Retrieved 18 April 2018.
  10. ^ "filelist of gvfs-daemons package".
  11. ^ "filelist of udisks2 package".
  12. ^ David Zeuthen (2014-05-28). "Modern Mounting with Udisks2".

External links[edit]

  • Official website