| 安定リリース | 1.56.1 [1]
/ 2024年10月18日 |
|---|---|
| リポジトリ |
|
| オペレーティング·システム | リナックス |
| プラットフォーム | グノーム |
| タイプ | ファイルシステムの抽象化レイヤー |
| ライセンス | LGPL-2.0以降 |
| Webサイト | wiki.gnome.org/プロジェクト/gvfs |
GVfs ( GNOME 仮想ファイルシステムの略) は、GLibバージョン 2.15.1 以降で利用可能なライブラリであるGIOの I/O 抽象化と連携するように設計されたGNOMEのユーザー空間仮想ファイルシステムです。libgio の API を使用するアプリケーションによって自動的に使用されるいくつかのモジュールをインストールします。また、 GIO を使用しないアプリケーションが GVfs ファイルシステムにアクセスできるようにする FUSEサポートもあります。
混乱の原因は、 Linux カーネルが使用するファイル システムの抽象化が仮想ファイル システム(VFS) レイヤーとも呼ばれているという事実です。ただし、これはより低いレベルです。
GVfs モデルは、ファイルシステムが使用前にマウントされる必要があるという点で、置き換えるGnomeVFSgvfsdなどとは異なります。調整マウントを処理するマスターデーモン ( ) があり、各マウントは (通常) 独自のデーモンプロセスにあります (ただし、マウントはデーモンプロセスを共有できます)。
GVfsには、ゴミ箱サポート、 SFTP、FTP、WebDAV、SMB、Udev統合によるローカルデータ、OBEX、MTPなどを含む一連のバックエンドが付属しています。 [2] GVfsは、シェルプロトコル(FISH)を介して転送されるファイルをサポートしていないようです。
GVfs には、ボリューム モニターと GNOME URI スキーム ハンドラー構成を実装する GIO用のモジュールも含まれています。
コマンドライン プログラム「gio」には、GVfs マウント内のファイルに対してコマンド (cat、ls、stat、mount など) を実行できる一連の引数があります。
アタッチされたリソースは、 URI構文(例:smb://server01/gamedataまたはftp://username:password@ftp.example.net/public_html)を介して公開されますが、標準のPOSIXコマンドとI/Oを使用するアプリケーションで使用できるように、従来の方法でまたはまたはディレクトリ[3] [4]の下にマウントされることもあります。
~/.gvfs//run/user/$UID/gvfs$XDG_RUNTIME_DIR/gvfs
技術的な詳細

x-gvfs-showgvfs-udisks2-volume-monitorプロセスのオプションは、マウントされたデバイスがGNOME Filesに表示されるかどうかを決定します[5] 。GNOME Disksのスクリーンショット。GIO は、ネットワークや D-Bus サポートなどの一般的に役立つ API に加えて、アプリケーションに VFS API も提供します。GVfs は、それ以上の実装を提供し、多くのプロトコルを使用してファイルやストレージにアクセスできるようにします。GVfs は、ロード可能なモジュールとしてさまざまなネットワーク ファイル システムの実装を提供します。さらに、GVfs は、ゴミ箱、ネットワーク、または最近使用したフォルダー、CD の書き込み、コンピューター上の重要なデバイスやボリュームの監視もサポートします。
GVfs の目標は、GnomeVFS [6]の欠点を克服し、開発者が生の POSIX 呼び出しよりも好むような優れた API を提供することです。とりわけ、これは GObject を使用することを意味します。また、POSIX API を複製するのではなく、より高レベルのドキュメント中心のインターフェイスを提供することも意味します。GTK は、たとえばファイル選択ツールでこれを直接使用できます。
アプリケーションは、GIO 拡張ポイントを実装する GVfs モジュールを GIO がロードすることによって、間接的に GVfs を使用します。GVfs メイン デーモン gvfsd は、個々の接続ごとにさらにマウント デーモンを生成します。ボリューム監視の GVfs サポートは、別のロード可能なモジュールに含まれています。
実際の GVfs 実装は、複数のプロセスに分散されます。
GVfsはFUSEを使用してVFSをファイルシステムに直接マウントすることができます。[7]これは2つの部分で構成されています: [8]
- GIOをサポートするアプリケーションによってロードされる共有ライブラリ
- GVfs 自体には、 D-Bus を介して相互に通信し、GIO モジュールと通信するデーモンのコレクションが含まれています。
コマンドラインユーティリティのコレクション(gvfs-mount、gvfs-lessなど)はVFSリソースで動作します。[9]
- https://developer.gnome.org/gio/stable/ch01.html#gvfs-overview
公式ドキュメントについては、https://wiki.gnome.org/Projects/gvfs/backends を参照してください。
ホットプラグ
eSATA または USB 経由で接続されたデバイスは、物理的にホットプラグ可能 (であるはず) です。デバイスがコンピュータ システムに物理的に接続されるか、物理的に取り外されると、Linux カーネルがそれを検知し、ユーザー空間にイベントを送信します。Linux は、systemd-udevdこのようなイベントを受信し、非常に包括的な構成に従って応答します。
- にマウントされた特殊なファイルシステムdevfsを管理します
/dev。そのため、systemd-udevdは/devからデバイスノードを動的に作成および削除し、起動時に必要に応じてドライバーをロードします。 - ブロックデバイスの場合、systemd-udevdは
udisksd、およびgvfsdを通知しますgvfs-udisks2-volume-monitor。[12]
udisks2 デーモンはudisksd、D-Bus 経由で実装されたシステム ブロック デバイスへのインターフェイスとして機能します。ハード ディスクや USB サム ドライブなどのストレージ デバイスのクエリ、マウント、アンマウント、フォーマット、またはデタッチなどの操作を処理します。このパッケージには、udisksctlコマンド ラインからこれらの操作をトリガーするために使用できるユーティリティも用意されています ( PolicyKitによって許可されている場合)。
パッケージ
Debianでは、GVfs はgvfs、gvfs-daemons、gvfs-bin、gvfs-backends の 4 つのパッケージに パッケージ化されています。
参照
- GNOMEデスクトップ用のファイルマネージャであるGNOME Filesは、ユーザーがGVfsファイルシステムと対話することを可能にします。
- Xfceデスクトップ環境のファイルマネージャであるThunarも、GVfsライブラリを使用してファイルシステムの抽象化を提供します。
- KIO 、 KDEシステム用の同様の機能
- アーカイブファイルにアクセスするための仮想ファイルシステム実装であるArchivemount
参考文献
- ^ 「リリース 1.56.1」。2024年10月18日。 2024年10月21日閲覧。
- ^ GNOME 2.22 リリースノート、6.1: GVfs と GIO 2008-06-01 にWayback Machineにアーカイブされました
- ^ "gvfsd-fuse.1 - manned.org". manned.org . 2018年4月18日閲覧。
- ^ 「Nautilus のリモート フォルダーのデフォルトのマウント ポイント」。askubuntu.com。2018年4 月 18 日閲覧。
- ^ ab "udisks2/what-is-shown.txt". 2012年12月5日.。
- ^ 「gnome-vfs の代替計画」。mail.gnome.org 。2018年4 月 18 日閲覧。
- ^ 「gvfs ステータスレポート」。mail.gnome.org 。 2018年4月18日閲覧。
- ^ 「GNOMEvfs を使用したファイルの操作」、Linux.com
- ^ 「OpenSolaris 2009.06 - gvfs-mount のマニュアルページ (opensolaris セクション 1) - Unix および Linux コマンド」。www.unix.com。2018年4 月 18 日閲覧。
- ^ 「gvfs-daemons パッケージのファイルリスト」。
- ^ 「udisks2 パッケージのファイルリスト」。
- ^ David Zeuthen (2014-05-28). 「Udisks2 による最新のマウント」
外部リンク
- 公式サイト
