FUSE файловая система в пользовательском пространстве
Filesystem in Userspace (FUSE) (файловая система в пользовательском пространстве) — это модуль для ядер Unix- подобных ОС. Лицензии GNU GPL и GNU LGPL .
Модуль позволяет пользователям без привилегий создавать их собственные файловые системы без необходимости переписывать код ядра. Это достигается за счёт запуска кода файловой системы в пространстве пользователя, в то время как модуль FUSE только предоставляет «мост» для актуальных интерфейсов ядра. FUSE была официально включена в главное дерево кода FAQ Linux в версии 2.6.14.
Монтирование удалённой папки (FTP, SSH) в Linux FTP , autofs
FUSE особенно полезна для написания виртуальных файловых систем. В отличие от традиционных файловых систем, которые по существу сохраняют информацию для восстановления данных с диска, виртуальные файловые системы не хранят данные непосредственно. Они действуют как представление, трансляция (перевод) существующей файловой системы или устройства хранения. В принципе, любой ресурс, доступный для использования FUSE, может быть экспортирован в файловую систему.
FUSE (Русский)
Состояние перевода: На этой странице представлен перевод статьи FUSE. Дата последней синхронизации: 19 июля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
Файловая система в пользовательском пространстве (Filesystem in Userspace, FUSE) — это механизм для Unix-подобных операционных систем, позволяющий непривилегированным пользователям создавать собственные файловые системы без редактирования кода ядра. Это достигается путём запуска кода файловой системы в пространстве пользователя (user space), в то время как модуль ядра FUSE обеспечивает только «мост» к реальным интерфейсам ядра.
Размонтирование
Пакет fuse2 предоставляет инструмент fusermount, позволяющий выполнить размонтирование:
$ fusermount -u точка-монтирования
Список файловых систем FUSE
- adbfs — Монтирует устройства Android, подключенные через USB.
- apfs-fuse — Драйвер FUSE для APFS (Apple File System).
- astreamfs — A(synchronous) Stream(ing) (fuse) F(ile)S(ystem).
- CurlFtpFS — Файловая система для доступа к FTP-хостам, основанная на FUSE и libcurl.
- davfs2 — Драйвер файловой системы, позволяющий монтировать папку WebDAV.
- EncFS — Стековая криптографическая файловая система, работающая в пространстве пользователя.
- fuse-archive — Монтирует архив или сжатый файл только для чтения.
- fuseiso — Позволяет монтировать ISO обычным пользователям.
- GDriveFS — Инновационная FUSE-обёртка для Google Drive.
- gitfs — Файловая система FUSE, которая полностью интегрируется с git.
- gocryptfs — Стековая криптографическая файловая система, работающая в пространстве пользователя.
- google-drive-ocamlfuse — Файловая система для Google Drive, написанная на OCaml
- gphotofs — Модуль FUSE для монтирования камеры как файловой системы.
- HubicFuse — Файловая система FUSE для доступа к облачному хранилищу HubiC.
- iFuse — Файловая система FUSE для доступа к содержимому iPhone или iPod Touch.
- NTFS-3G — Драйвер NTFS с расширенными возможностями.
- MegaFuse — Клиент MEGA для Linux, основанный на FUSE.
- s3fs — Файловая система на основе FUSE для работы с Amazon S3.
- splitviewfuse — Представление каталога, которое разделяет/сливает файлы на сегменты.
- SSHFS — Монтирование каталогов через SSH.
- TMSU — Инструмент командной строки для добавления тегов к файлам и доступа к ним через виртуальную файловую систему.
- vdfuse — Монтирование образов дисков VirtualBox (VDI/VMDK/VHD).
- vramfs — Файловая система, хранящая данные в памяти видеокарты.
- wimmount — Монтирование образов в формате Windows Imaging Format (WIM).
- xbfuse — Монтирование Xbox (360) ISO.
- xmlfs — Представляет файл XML в виде структуры каталогов для лёгкого доступа.
- Media Transfer Protocol#FUSE filesystems
Смотрите также
Retrieved from «https://wiki.archlinux.org/index.php?title=FUSE_(Русский)&oldid=789407»
Файловая система в пространстве пользователя — Filesystem in Userspace
Файловая система в пространстве пользователя (FUSE ) — это программный интерфейс для Unix и Unix-подобных компьютерных операционных систем , который позволяет не -привилегированные пользователи создают свои собственные файловые системы без редактирования кода ядра . Это достигается запуском кода файловой системы в пользовательском пространстве , в то время как модуль FUSE обеспечивает только «мост» к реальным интерфейсам ядра.
- 1 История
- 2 Работа и использование
- 3 Приложения
- 3.1 Файл на диске систем
- 3.2 Многоуровневые файловые системы
- 3.3 Архивные и резервные файловые системы
- 3.4 Клиенты удаленных / распределенных файловых систем
- 3.5 Другое
История
Система FUSE изначально была частью AVFS (виртуальной файловой системы), реализации файловой системы, на которую сильно повлияла концепция переводчика GNU Hurd . Он заменил Linux Userland Filesystem и предоставил трансляционный интерфейс с использованием lufis в libfuse1.
FUSE изначально был выпущен в соответствии с условиями Стандартной общественной лицензии GNU и Стандартной общественной лицензии ограниченного применения GNU , позже также повторно реализованной как часть FreeBSD базовая система и выпущена в соответствии с условиями лицензии Simplified BSD . Повторная реализация ISC от Sylvestre Gallon была выпущена в марте 2013 года и включена в OpenBSD в июне 2013 года.
FUSE был включен в основной поток Дерево ядра Linux в версии ядра 2.6.14.
Пользовательская сторона FUSE, библиотеки libfuse, в целом следовала темпам разработки ядра Linux, сохраняя при этом «максимальную совместимость» с потомками BSD. Это возможно, потому что ядро FUSE сообщает о своих собственных «уровнях возможностей» или версиях. Исключением является форк FUSE для macOS, OSXFUSE, в котором слишком много исключений для совместного использования библиотеки. Прерывание в истории libfuse — это libfuse3, который включает некоторые несовместимые улучшения в интерфейсе и производительности по сравнению со старым libfuse2, который теперь находится в режиме обслуживания.
Работа и использование
Блок-схема, показывающая, как работает FUSE: Запрос из пользовательского пространства на список файлов (ls -l / tmp / fuse) перенаправляется ядром через VFS на FUSE. Затем FUSE выполняет зарегистрированную программу-обработчик (./hello) и передает ей запрос (ls -l / tmp / fuse). Программа-обработчик возвращает ответ FUSE, который затем перенаправляется в программу пользовательского пространства, которая изначально сделала запрос.
Для реализации новой файловой системы программа-обработчик, связанная с предоставленной библиотекой libfuse , должна быть быть написанным. Основная цель этой программы — указать, как файловая система должна отвечать на запросы чтения / записи / статистики. Программа также используется для монтирования новой файловой системы. Во время монтирования файловой системы обработчик регистрируется в ядре. Если пользователь теперь выдает запросы чтения / записи / статистики для этой вновь смонтированной файловой системы, ядро пересылает эти запросы ввода-вывода обработчику, а затем отправляет ответ обработчика обратно пользователю.
Отключение файловой системы на основе FUSE с помощью команды fusermount
FUSE особенно полезно для записи виртуальных файловых систем . В отличие от традиционных файловых систем, которые, по сути, работают с данными на запоминающих устройствах, виртуальные файловые системы на самом деле сами не хранят данные. Они действуют как просмотр или перевод существующей файловой системы или устройства хранения. В принципе, любой ресурс, доступный для реализации FUSE, можно экспортировать как файловую систему.
Приложения
Файловые системы на диске
- Линейная файловая система на магнитной ленте : обеспечивает доступ к файлам, хранящимся на магнитной ленте, аналогично файлам на дисках или съемных флеш-накопителях.
- NTFS-3G и Captive NTFS , предоставляя доступ к файловым системам NTFS .
Многоуровневые файловые системы
Файловые системы FUSE могут создавать представление о лежащей в основе файловой системе, тем или иным образом преобразовывая файлы.
Файловые системы архивов и резервных копий
Файловые системы FUSE могут открывать содержимое архивов или наборов резервных копий без необходимости их предварительного извлечения.
- archivemount
- Borg (программное обеспечение резервного копирования) : программа резервного копирования с дедупликацией, которая позволяет монтировать архивы резервных копий как файловые системы FUSE.
- Restic : бесплатное, быстрое, эффективное и безопасное программное обеспечение для резервного копирования использует FUSE для иметь возможность просматривать все ваши моментальные снимки резервных копий как обычную файловую систему
- SPFS Файловая система для Spectrum Protect, предназначенная для монтирования файлового пространства сервера резервного копирования в любом месте вашего сервера и использования функций, включенных с сервера резервного копирования ( шифрование, дедупликация, сжатие, фильтрация и т. д.). Это файловая система WORM.
Клиенты удаленной / распределенной файловой системы
- CernVM-FS : Распределенная система распространения программного обеспечения только для чтения, реализованная как файловая система POSIX в пространстве пользователя (FUSE) с использованием транспорта HTTP, для быстрой и надежной доставки программного обеспечения в глобальном масштабе.
- CloudStore (ранее — файловая система Kosmos): при подключении через FUSE существующие утилиты Linux могут взаимодействовать с CloudStore
- ExpanDrive : коммерческая файловая система, реализующая SFTP / FTP / S3 / Swift с использованием FUSE
- FTPFS
- GlusterFS : кластерная распределенная файловая система с возможностью масштабирования до нескольких петабайт.
- тупицы : FUSE файловая система, которая обеспечивает доступ к хранилищу Amazon S3 / Microsoft Azure с упором на производительность.
- IPFS : одноранговая распределенная файловая система, которая стремится соединить все вычислительные устройства с одной и той же системой файлов.
- KBFS : распределенная файловая система со сквозным шифрованием и глобальным пространством имен на основе Keybase.io , которая использует FUSE для создания криптографически безопасных файловых монтировок.
- Lustre Кластерная файловая система будет использовать FUSE, чтобы позволить ей работать в пользовательском пространстве, так что возможен порт FreeBSD. Однако порт Lustre ZFS -Linux будет запускать DMU (Data Management Unit) ZFS в пространстве пользователя.
- MinFS : MinFS — это драйвер предохранителя для сервера хранения объектов, совместимого с Amazon S3. MinFS позволяет монтировать удаленный сегмент (из хранилища объектов, совместимого с S3), как если бы он был локальным каталогом.
- MooseFS : распределенная отказоустойчивая файловая система с открытым исходным кодом, доступная в каждой ОС с реализацией FUSE (Linux , FreeBSD, NetBSD, OpenSolaris, OS X), способный хранить петабайты данных, распределенных по нескольким серверам, видимым как один ресурс.
- ObjectiveFS : Распределенная файловая система с серверной частью хранилища объектов (Amazon S3, Google Cloud Storage или S3- совместимое хранилище объектов) с использованием FUSE
- s3fs : дает возможность монтировать корзину S3, как если бы это была локальная файловая система.
- Секторная файловая система : Сектор — это распределенная файловая система, предназначенная для больших количество товарных компьютеров. Sector использует FUSE для обеспечения интерфейса локальной файловой системы с возможностью монтирования.
- SSHFS : обеспечивает доступ к удаленной файловой системе через SSH .
- Transmit : коммерческий FTP-клиент, который также добавляет возможность монтирования Серверы WebDAV, SFTP, FTP и Amazon S3 в виде дисков в Finder через MacFUSE.
- WebDrive : коммерческая файловая система, реализующая WebDAV , SFTP, FTP, FTPS и Amazon S3
- WikipediaFS : просматривайте и редактируйте статьи Википедии, как если бы они были настоящими файлами.
- Wuala : была многоплатформенной, полностью интегрированной распределенной файловой системой на основе Java. Использование FUSE, MacFUSE и файловой системы обратного вызова соответственно для интеграции файловой системы в дополнение к приложению на основе Java, доступному из любого веб-браузера с поддержкой Java (услуга прекращена в 2015 г.).
Другое
- GVfs : виртуальная файловая система для рабочего стола GNOME
- rvault : безопасное и аутентифицированное хранилище секретов и небольших документов с использованием шифрования конверта с одноразовым паролем (OTP) аутентификация. Он использует FUSE, чтобы раскрыть хранилище как файловую систему.
- EmojiFS : файловая система FUSE, которая позволяет вам управлять пользовательскими смайликами в различных Slacks и Discord.
См. Также
- Бесплатно и с открытым исходным кодом программный портал
- PUFFS , аналогичная структура с совместимостью с FUSE
- 9P (протокол)
- Устанавливаемая файловая система
- Dokan Library FUSE Совместимость с Windows
- Проектируемая файловая система Windows (ProjFS)
Ссылки
Внешние ссылки
- Официальный сайт
- Разработайте свою собственную файловую систему с FUSE от Sumit Singh
- Список файловых систем FUSE
- Документация / filesystems / fuse.txt документация в дереве исходных текстов Linux
- WinFSP , FUSE-подобная система для Windows (для Cygwin предусмотрен уровень совместимости FUSE)
- Crossmeta FUSE , Port of FUSE to Windows (коммерческое программное обеспечение)
FUSE
FUSE (File system in userspace, файловая система в пространстве пользователя) это механизм, позволяющий обычному пользователю подключать различные объекты как специфичные файловые системы в собственном пространстве (например на жёстком диске в каталоге $HOME).
Так в качестве файловых систем могут быть подсоединены ресурсы Википедии (MediaWiki), Ssh/HTTP/FTP серверов, ISO/ZIP файлы и множество других объектов. Кроме того могут быть изменены свойства отдельных папок, например изменены правила наследования прав, или установлено сжатие, или добавлено шифрование, или включена проверка на вирусы и тому подобное. Подключение объекта как части файловой системы позволяет осуществлять доступ к нему через скрипты и любые (а не специфичные) файловые программы. Для автоматического подключения/отключения пользовательских файловых систем по требованию (аналогично autofs) может быть использован пакет afuse. Пример (авто)монтирования FUSE-файловых систем при старте операционной среды приведён в статье Fstab.
В таблице приведены ссылки на статьи по данной теме, размещённые в настоящий википедии.
ссылка краткое описание Fuse-utils пакет для создания файловых систем FUSE Afuse автомонтирование файловой системы FUSE в пользовательском пространстве Avfs создание файловой системы из файлов с архивами, в том числе через интернет Clamfs создание файловой системы защищённой антивирусом clamav Curlftpfs создание файловой системы для доступа на ftp-сервер Bindfs создание файловой системы с установкой произвольных правил доступа к ней Wikipediafs создание файловой системы со статьям википедии на движке Mediawiki Fusesmb создание файловой системы с SAMBA-ресурсами локальной сети Smbnetfs создание файловой системы с SAMBA-ресурсами локальной сети Djmount создание файловой системы с ресурсами Dlna-сервера Sshfs создание файловой системы с ресурсами ssh-сервера Encfs создание зашифрованной файловой системы поверх другой Virtualbox-ose-fuse создание файловой системы из виртуальных жёстких дисков Virtualbox Obexfs создание файловой системы через OBEX Fuse-convmvfs создание файловой системы с автоматическим декодированием имён файлов и папок из одной кодировки в другую Httpfs2 создание файловой системы из http или https URLS Fuse-zip создание файловой системы из ZIP файла Fuse-convmvfs создание зеркальной файловой системы от одной кодировки символов к другой Литература
- wikipedia.org: Filesystem in Userspace
- FUSE
- Побег за пределы ядра. Обзор файловых систем, основанных на fuse
Справочная информация
- 02.03.2012: FUSE: создание статьи в википедии