Filesystem in Userspace

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Файлова система в просторі користувача
FUSE structure.svg
Блок-схема роботи FUSE
Тип File system driver
Стабільний випуск 2.9.7 (20 червня 2016; 3 роки тому (2016-06-20))
Версії 3.8.0 (3 листопада 2019)[1]
Репозиторій github.com/libfuse/libfuse
Операційна система Unix-like
Написано на C
Ліцензія GPL для частин, що стосуються ядра; LGPL для Libfuse; Simplified BSD для FreeBSD, ISC license для OpenBSD
github.com/libfuse/libfuse

Filesystem in Userspace (FUSE) — Файлова система в просторі користувача — це модуль для Unix-подібної операційної системи, який дозволяє користувачам без спеціальних прав та без модифікації ядра створювати власні файлові системи. Це стає можливим завдяки тому, що драйвер файлової системи працює в просторі користувача, а модуль FUSE забезпечує «міст» до поточних інтерфейсів ядра.

FUSE є доступним на Linux, FreeBSD, OpenBSD, NetBSD (як puffs), OpenSolaris, Minix 3, Android та OS X.[2]

FUSE є free software та розповсюджується на умовах GNU General Public License та GNU Lesser General Public License.

Історія[ред. | ред. код]

FUSE система була частиною проекту AVFS (A Virtual Filesystem), файлової системи, побудованої на концепції GNU Hurd.[3]

FUSE в основному розповсюджується на умовах GNU General Public License та GNU Lesser General Public License. Пізніше була реалізована як частина базової системи FreeBSD[4] та на умовах Simplified BSD. На умовах ISC ліцензії була реалізована Sylvestre Gallon в березні 2013,[5] та включена у OpenBSD в червні 2013.[6]

FUSE офіційно включена в основне дерево Linux ядра починаючи з версії 2.6.14.[7]

Використання[ред. | ред. код]

FUSE особливо корисна для створення віртуальних файлових систем. На відміну від класичних файлових систем, які в основному зберігають та отримують дані з носіїв, віртуальні безпосередньо дані не зберігають. Вони більш є відображенням певної структури даних.

Взагалі будь-якій ресурс, якій може бути втілений як FUSE реалізація, може бути експортовано в файлову систему.

Приклади використання[ред. | ред. код]

  • Keybase filesystem (KBFS): розподілена файлова система з шифрування на боці клієнтів, з глобальним простором назв.
  • Wuala: Багатоплатформовна, Java-based, повністю інтегрована інтегрована з ОС розподілена файлова система. Використовує FUSE, MacFUSE та Callback File System для інтегрування з файловою системою та Java-додатки для роботи із браузерів, що підтримують Java.
  • WebDrive: Комерційна реалізація файлової системи WebDAV, SFTP, FTP, FTPS та Amazon S3
  • Transmit: Комерційний FTP клієнт, що має можливість монтувати ресурси WebDAV, SFTP, FTP та Amazon S3 як диски в Finder через MacFUSE.
  • ExpanDrive: Комерційна реалізація файлової системи SFTP/FTP/S3/Swift через використання FUSE
  • GlusterFS: Кластерна файлова система, що може розширюватись до декілька петабайт.
  • SSHFS: Забезпечує доступ до віддаленої файлової системи через SSH
  • FTPFS
  • GmailFS: Файлова система, що зберігає дані як листи в Gmail
  • GVfs: Віртуальна файлова система для GNOME desktop
  • EncFS: Зашифрована віртуальна система
  • NTFS-3G та Captive NTFS забезечують доступ до NTFS файлової системи
  • WikipediaFS: Перегляд та редагування статей з Wikipedia так, начебто вони реальні файли.
  • Кластерна ФС Lustre[8] для FreeBSD, а також для Linux з підтримкою ZFS[9]
  • archivemount
  • Sector File System: розподілена файлова система, що використовує звичайні комп'ютери для зберігання даних.
  • CloudStore (раніше, Kosmos filesystem)
  • MooseFS: Розподілена, відмовостійка файлова система з відкритим кодом яка доступна на будь-якій ОС, де реалізована FUSE (Linux, FreeBSD, NetBSD, OpenSolaris, OS X).
  • GDFS: Файлова система, що монтує ваш Google Drive як локальний диск.

Схожі реалізації[ред. | ред. код]

Примітки[ред. | ред. код]

  1. 1bcd8f445b5e — 2019.
  2. Home - FUSE for OS X. Архів оригіналу за 15 січня 2017. Процитовано 9 жовтня 2016. 
  3. Some technical advantages of the Hurd. May 15, 2011. Процитовано March 28, 2016. 
  4. WhatsNew/FreeBSD10 - FreeBSD Wiki. 
  5. openbsd dev - tech - Fuse (and sshfs) support for OpenBSD. 
  6. 'CVS: cvs.openbsd.org: src' - MARC. 
  7. file-systems.fuse.devel - FUSE merged to 2.6.14! - msg#00021 - Recent Discussion OSDir.com. Архів оригіналу за 20 квітень 2016. Процитовано 9 жовтень 2016. 
  8. Lustre FreeBSD. Архів оригіналу за 2008-03-12. Процитовано 2008-03-02. 
  9. Architecture ZFS for Lustre. Sun Microsystems. Процитовано 2008-03-02. 

Посилання[ред. | ред. код]