Este artículo se basa demasiado en referencias a fuentes primarias . ( Febrero de 2017 ) ( Obtenga información sobre cómo y cuándo eliminar este mensaje de plantilla ) |
Lanzamiento estable | 1.48.1 [1] / 30 de abril de 2021 |
---|---|
Repositorio | |
Sistema operativo | Linux |
Plataforma | GNOMO |
Tipo | capa de abstracción para el sistema de archivos |
Sitio web | wiki |
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/gvfs
o en el $XDG_RUNTIME_DIR/gvfs
directorio [3] [4] para que estén disponibles para aplicaciones que utilicen E / S y comandos POSIX estándar .
Detalles técnicos [ editar ]
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]
- una biblioteca compartida que se carga con aplicaciones que admiten GIO
- 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
Demonio | tarea |
---|---|
Principal | |
gvfsd | gvfsd es el demonio principal de GVfs. Proporciona el nombre "org.gtk.vfs.Daemon" en el bus de sesión. Los clientes de GIO inician automáticamente gvfsd si no se está ejecutando. La tarea principal de gvfsd es actuar como un rastreador / administrador de montaje. Genera nuevos back-end cuando se solicita y realiza un seguimiento de su ciclo de vida, mantiene una lista de montajes activos y crea conexiones directas con ellos. gvfsd también inicia gvfsd-fuse (1) y le proporciona el punto de montaje donde se debe montar el sistema de archivos de fuse. |
fusible gvfsd | gvfsd-fuse mantiene un montaje FUSE ( Sistema de archivos en el espacio de usuario ) para que los back-end de GVfs estén disponibles para las aplicaciones POSIX. El punto de montaje para el sistema de archivos fusible lo proporciona el argumento [PATH]. gvfsd-fuse normalmente es iniciado por gvfsd. |
gvfsd-metadata | gvfsd-metadata es un demonio que actúa como serializador de escritura en el almacenamiento interno de metadatos de gvfs. Los clientes de GIO lo inician automáticamente cuando realizan cambios en los metadatos. Las operaciones de lectura se realizan directamente mediante el código GIO del lado del cliente y no requieren que el demonio se esté ejecutando. Las capacidades de metadatos de gvfs son utilizadas por el administrador de archivos GNOME Files , por ejemplo. |
Monitores de volumen | |
gvfs-goa-volume-monitor | soporte para cuentas en línea de GNOME (cf. Cuentas en línea de GNOME en la wiki de GNOME ) |
monitor-volumen-gfvs-gphoto2 | Compatibilidad con el protocolo de transferencia de imágenes implementado en gPhoto. |
monitor-volumen-gvfs-mtp | soporte para el Protocolo de transferencia de medios |
monitor-volumen-gvfs-udisks2 | El proceso gvfs-udisks2-volume-monitor es responsable de los discos, medios, montajes y entradas fstab que se muestran en la interfaz de usuario del escritorio. En particular, GNOME Shell , GNOME Files , así como cualquier otra aplicación que utilice las API de GLib, utiliza información de este proceso. [5] En Debian se distribuye como parte del paquete gvfs-daemons. [10] No debe confundirse con udisksd y udisksctl, que son parte del paquete udisks2. [11] udisks : El demonio udisks sirve 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. |
gvfs-afc-volume-monitor | soporte para Apple File Conduit |
Montar back-ends | |
gvfsd-afc | monta volúmenes de iPhone / iPod touch |
gvfsd-afp | monta volúmenes de Apple Filing Protocol |
gvfsd-afp-navegar | examina los volúmenes de Apple Filing Protocol |
gvfsd-archive | monta archivos de almacenamiento en varios formatos |
gvfsd-burn | proporciona una ubicación para grabar CD / discos ópticos |
gvfsd-cdda | monta CD de audio |
gvfsd-computadora | proporciona computadora: // |
gvfsd-dav | monta sistemas de archivos DAV |
gvfsd-dnssd | navega por DNS-SD |
gvfsd-ftp | se monta sobre FTP |
gvfsd-gphoto2 | se monta sobre PTP, lo que significa que GVfs usa libgphoto2 para exponer fotos en la cámara a aplicaciones GNOME a través de VFS |
gvfsd-http | se monta sobre HTTP |
gvfsd-localtest | un backend de prueba |
gvfsd-mtp | se monta sobre MTP |
red-gvfsd | proporciona red: // |
gvfsd-nfs | se monta sobre el protocolo NFS |
gvfsd-reciente | proporciona reciente: // |
gvfsd-sftp | se monta sobre sftp |
gvfsd-smb | monta volúmenes SMB (es decir, Windows Shares Filesystem) |
gvfsd-smb-navegar | explora los volúmenes del sistema de archivos de Windows Shares |
gvfsd-trash | proporciona basura: // |
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-udevd
recibe 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
,gvfsd
ygvfs-udisks2-volume-monitor
. [12]
El demonio udisks2 udisksd
sirve 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 udisksctl
utilidad, 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]
- ^ "GNOME git repository of GVfs".
- ^ GNOME 2.22 Release Notes, 6.1: GVfs and GIO
- ^ "gvfsd-fuse.1 - manned.org". manned.org. Retrieved 18 April 2018.
- ^ "Nautilus' remote folder default mount point". askubuntu.com. Retrieved 18 April 2018.
- ^ a b "udisks2/what-is-shown.txt"..
- ^ "Plans for gnome-vfs replacement". mail.gnome.org. Retrieved 18 April 2018.
- ^ "gvfs status report". mail.gnome.org. Retrieved 18 April 2018.
- ^ "Using GNOMEvfs to manipulate files", Linux.com
- ^ "OpenSolaris 2009.06 - man page for gvfs-mount (opensolaris section 1) - Unix & Linux Commands". www.unix.com. Retrieved 18 April 2018.
- ^ "filelist of gvfs-daemons package".
- ^ "filelist of udisks2 package".
- ^ David Zeuthen (2014-05-28). "Modern Mounting with Udisks2".
External links[edit]
- Official website