GVFS

GVfs
GVFS
안정된 릴리스
1.50[1].2 / 2022년 5월 26일
프리뷰 릴리즈
2021년 3월 12일 1.47.91[2]
저장소
운영 체제리눅스
플랫폼노메
유형파일 시스템의 추상화 레이어
면허증.LGPL-2.0 이후
웹 사이트wiki.gnome.org/Projects/gvfs Edit this on Wikidata

GVfs(GNOME Virtual File System의 약자)는 GNOME의 사용자 공간 가상 파일 시스템으로 버전 2.15.1 이후 GLIB에서 사용 가능한 라이브러리인 GIO의 I/O 추상화와 함께 작동하도록 설계되었습니다.libgio API를 사용하는 응용 프로그램에서 자동으로 사용하는 여러 모듈을 설치합니다., GIO 를 사용하지 않는 애플리케이션이 GVFS 파일 시스템에 액세스 할 수 있도록 하는 FUSE 서포트도 있습니다.

Linux 커널에서 사용되는 파일 시스템 추상화는 가상 파일 시스템(VFS) 계층이라고도 합니다.하지만 이것은 더 낮은 수준입니다.

GVfs 모델은 다음과 같습니다.파일 시스템에서 GnomeVFS를 사용하기 전에 마운트해야 합니다.마스터 데몬이 있습니다(gvfsd)는 마운트를 조정하고 각 마운트는 (일반적으로) 자체 데몬 프로세스로 처리됩니다(단, 마운트는 데몬 프로세스를 공유할 수 있습니다).

GVfs에는 휴지통 지원, SFTP, FTP, WebDAV, SMB 및 Udev 통합, OBEX, MTP [3]등을 통한 로컬 데이터 등의 백엔드 세트가 포함되어 있습니다.GVfs는 FISH(Files Transfered over Shell Protocol)를 지원하지 않는 것 같습니다.

GVfs에는 볼륨모니터 및 GNOME URI 스킴핸들러 설정을 실장하는 GIO용 모듈도 포함되어 있습니다.

명령줄 프로그램 "gio"에는 일련의 인수가 있으며, 이를 통해 GVFS 마운트의 파일에서 명령어(cat, ls, stat, mount 등)를 실행할 수 있습니다.

연결된 리소스는 smb://server01/gamedata 또는 ftp://smb:password@ftp.example.net/public_smb와 같은 URI 구문을 통해 공개되지만 기존 방식으로 마운트됩니다.~/.gvfs/또는/run/user/$UID/gvfs또는$XDG_RUNTIME_DIR/gvfs표준[4][5] POSIX 명령 및 I/O를 사용하는 애플리케이션에서 사용할 수 있도록 하는 디렉토리입니다.

기술적 세부사항

옵션x-gvfs-showgvfs-udisks2-volume-monitor 프로세스의 경우 마운트된 디바이스가 GNOME 파일에 표시되는지 여부를[6] 결정합니다.GNOME 디스크의 스크린샷.

네트워킹 및 D-Bus 지원 등 일반적으로 유용한 API와 함께 GIO는 애플리케이션에 VFS API도 제공합니다.GVfs는 이를 넘어 많은 프로토콜을 사용하여 파일 및 스토리지에 액세스할 수 있는 구현을 제공합니다.GVfs는 로드 가능한 모듈로서 다양한 네트워크 파일 시스템을 구현합니다.또한 GVfs는 휴지통, 네트워크 또는 최근 폴더, CD 쓰기 및 컴퓨터상의 대상 디바이스 및 볼륨 감시를 지원합니다.

GVFS의 목표는 Gnome의 단점을 극복하는 것이었다.VFS를[7] 사용하여 개발자가 원시 POSIX 호출보다 선호할 정도로 우수한 API를 제공합니다.그 중에서도 GObject를 사용하는 것을 의미합니다.또한 POSIX API를 복제하는 것이 아니라 문서 중심의 보다 높은 수준의 인터페이스를 제공하는 것을 의미합니다.GTK는 파일 선택기 등에서 직접 사용할 수 있습니다.

응용 프로그램은 GIO 확장 포인트를 구현하는 GVfs 모듈을 로드하여 GVfs를 간접적으로 사용합니다.GVfs 메인 데몬 gvfsd는 개별 연결별로 추가 마운트 데몬을 생성합니다.볼륨 모니터링에 대한 GVfs 지원은 별도의 로드 가능 모듈에 포함되어 있습니다.

실제 GVFS 실장은 여러 프로세스에 걸쳐 분산되어 있습니다.

GVFS는 FUSE를 사용하여 VFS를 파일 시스템에 [8]직접 마운트할 수 있습니다.다음 두 [9]부분으로 구성되어 있습니다.

  1. GIO를 지원하는 응용 프로그램에 의해 로드되는 공유 라이브러리
  2. GVfs 자체: D-Bus를 통해 서로 통신하는 데몬 및 GIO 모듈을 포함합니다.

명령줄 유틸리티 모음(gvfs-mount, gvfs-less 등)은 VFS [10]리소스와 함께 작동합니다.

데몬 작업
주된
gvfsd gvfsd는 GVFS의 메인 데몬입니다.org.gtk.vfs를 제공합니다.세션 버스의 Daemon" 이름.gvfsd는 GIO 클라이언트가 실행하고 있지 않은 경우 자동으로 시작됩니다.gvfsd의 주요 작업은 마운트 트래커/매니저 역할을 하는 것입니다.요청 시 새로운 백엔드를 생성하고 라이프 사이클을 추적하며 활성 마운트 목록을 유지하며 해당 백엔드에 직접 연결합니다.gvfsd는 gvfsd-1000(1)을 시작하고 퓨즈 파일 시스템을 마운트해야 하는 마운트 지점을 제공합니다.
gvfsd-displicted gvfsd-fuse는 POSIX 애플리케이션에서 GVFS 백엔드를 사용할 수 있도록 FUSE(Filesystem in Userspace) 마운트를 유지합니다.퓨즈 파일 시스템의 마운트 지점은 [PATH] 인수에 의해 제공됩니다.gvfsd-fuse는 보통 gvfsd에 의해 시작됩니다.
gvfsd-displicted gvfsd-display는 내부 gvfs 메타데이터 스토리지에 대한 쓰기 시리얼라이저로 동작하는 데몬입니다.GIO 클라이언트는 메타데이터를 변경할 때 자동으로 시작됩니다.읽기 조작은 클라이언트측 GIO 코드로 직접 실행되므로 데몬을 실행할 필요가 없습니다.예를 들어 gvfs 메타데이터 기능은 GNOME 파일 관리자에 의해 사용됩니다.
볼륨 모니터
gvfs-goa-volume-monitor GNOME 온라인 계정 지원(cf).GNOME Wiki의 GNOME 온라인 계정)
gfvs-gphoto2 볼륨모니터 gPhoto에서 구현된 Picture Transfer Protocol 지원
gvfs-mtp-volume-monitor 미디어 전송 프로토콜 지원
gvfs-udisks2 볼륨모니터 gvfs-udisks2-volume-monitor 프로세스는 데스크톱 사용자 인터페이스에 표시되는 디스크, 미디어, 마운트 및 fstab 엔트리를 담당합니다.특히 GLIB API를 사용하는 GNOME Shell, GNOME Files 및 기타 응용 프로그램은 이 [6]프로세스에서 얻은 정보를 사용합니다.Debian에서는 gvfs-daemons [11]패키지의 일부로 배포됩니다.udisksd와 udisksctl은 udisks2 [12]패키지의 일부입니다.
udisks: udisks 데몬은 D-Bus를 통해 구현되는 시스템블록 디바이스에 대한 인터페이스로 기능합니다.하드 디스크 또는 USB 썸 드라이브와 같은 스토리지 디바이스의 쿼리, 마운트, 마운트 해제, 포맷 또는 분리 등의 작업을 처리합니다.
gvfs-module-volume-monitor Apple 파일 컨짓 지원
백엔드 마운트
gvfsd-displicted iPhone/iPod 터치 볼륨 마운트
gvfsd-displicted Apple Filing Protocol 볼륨 마운트
gvfsd-module-module 명령어플리케이션 Apple Filing Protocol 볼륨 찾아보기
gvfsd-displicted 다양한 형식의 아카이브 파일 마운트
gvfsd-burn 에는 CD/옵티컬(광학식) 디스크를 쓰기 위한 장소가 준비되어 있습니다.
gvfsd-cdda 오디오 CD를 마운트하다
gvfsd-컴퓨터 제공 컴퓨터://
gvfsd-dav DAV 파일 시스템 마운트
gvfsd-dnssd DNS-SD 참조
gvfsd-displicted FTP를 통해 마운트
gvfsd-gphoto2 Mounts over PTP. 즉, GVFS는 libgphoto2를 사용하여 VFS를 통해 GNOME 애플리케이션에 온 카메라 사진을 공개합니다.
gvfsd-displicted HTTP를 통해 마운트
gvfsd-localtest 테스트 백엔드
gvfsd-mtp MTP를 통해 마운트
gvfsd 네트워크 네트워크 제공://
gvfsd-displicted NFS 프로토콜을 통해 마운트
gvfsd-displicted 최신 정보 제공://
gvfsd-sftp sftp 위에 마운트
gvfsd-displicted SMB(Windows 공유 파일 시스템) 볼륨 마운트
gvfsd-module-module 명령어플리케이션 Windows 공유 파일 시스템 볼륨 찾아보기
gvfsd-displicted 휴지통 제공://

공식 문서는 https://wiki.gnome.org/Projects/gvfs/backends를 참조하십시오.

핫 플러그

eSATA 또는 USB를 통해 연결된 디바이스는 물리적으로 핫 플러그가 가능합니다.디바이스가 컴퓨터 시스템에 물리적으로 연결되거나 컴퓨터 시스템에서 물리적으로 분리되면 Linux 커널이 이벤트를 감지하여 사용자 공간으로 보냅니다. systemd-udevd는 이러한 이벤트를 수신하여 매우 포괄적인 설정에 따라 응답합니다.

  • 에 마운트된 특수 파일 시스템 devfs를 관리합니다./dev따라서 systemd-udevd는 /dev에서 디바이스 노드를 동적으로 생성 및 삭제합니다.또, 기동시에 필요에 따라서 드라이버를 로드합니다.
  • 블록 디바이스 systemd-udevd가 통지하는 경우udisksd,그리고.gvfsd그리고.gvfs-udisks2-volume-monitor를 클릭합니다.[13]

udisks2 데몬udisksd는 시스템 블록디바이스에 대한 인터페이스로 기능하며 D-Bus 경유로 구현됩니다.하드 디스크 또는 USB 썸 드라이브와 같은 스토리지 디바이스의 쿼리, 마운트, 마운트 해제, 포맷 또는 분리 등의 작업을 처리합니다.이 패키지는 또한udisksctl유틸리티: 명령줄에서 이러한 작업을 트리거하기 위해 사용할 수 있습니다(PolicyKit에 의해 허용된 경우).

패키징

Debian에서는 GVfs는 gvfs, gvfs-daemon, gvfs-bingvfs-backends의 4가지 패키지로 패키지화되어 있습니다.

「 」를 참조해 주세요.

  • GNOME 데스크톱용 파일 매니저인 GNOME 파일을 통해 사용자는 GVFS 파일 시스템과 상호 작용할 수 있습니다.
  • Xfce 데스크톱 환경의 파일 매니저인 Thunar는 GVFS 라이브러리를 사용하여 파일 형식 추상화도 제공합니다.
  • KDE 시스템용 유사한 기능인 KIO
  • 아카이브 마운트: 아카이브 파일에 액세스하기 위한 가상 파일 시스템 구현

레퍼런스

  1. ^ "gvfs 1.50.2".
  2. ^ "Release 1.47.91". 12 March 2021. Retrieved 10 April 2021.
  3. ^ GNOME 2.22 릴리즈 노트, 6.1: GVfsGIO
  4. ^ "gvfsd-fuse.1 - manned.org". manned.org. Retrieved 18 April 2018.
  5. ^ "Nautilus' remote folder default mount point". askubuntu.com. Retrieved 18 April 2018.
  6. ^ a b 를 클릭합니다"udisks2/what-is-shown.txt"..
  7. ^ "Plans for gnome-vfs replacement". mail.gnome.org. Retrieved 18 April 2018.
  8. ^ "gvfs status report". mail.gnome.org. Retrieved 18 April 2018.
  9. ^ "GNOMEvfs를 사용한 파일 조작", Linux.com
  10. ^ "OpenSolaris 2009.06 - man page for gvfs-mount (opensolaris section 1) - Unix & Linux Commands". www.unix.com. Retrieved 18 April 2018.
  11. ^ "filelist of gvfs-daemons package".
  12. ^ "filelist of udisks2 package".
  13. ^ David Zeuthen (2014-05-28). "Modern Mounting with Udisks2".

외부 링크