LINUX.ORG.RU

Разработка собственной файловой системы с помощью FUSE


0

0

Это руководство по установке, настройке и разрешению FUSE и AFS для того, чтобы вы могли создать вашу собственную полностью функциональную файловую систему в пользовательской области на Linux. Файловая система может предоставлять расширенные возможности. Она может быть написана как надстройка над существующей файловой системой для управления ее данными и предоставлять расширенную, функционально полную файловую систему (например, cvsfs-fuse, которая обеспечивает интерфейс файловой системы для CVS, или файловая система Wayback, которая обеспечивает механизм резервного копирования для хранения старых копий данных).

>>> Подробности

★★★

Проверено: Shaman007 ()

круто
вы только вдумайтесь :
любой вменяемый программер может в линуксе создать свою собственную файловую систему
мало ли для чего это может понадобиться - тут широкое поле деятельности
что-либо подобное в оффтопике создать практически невозможно

kto_tama ★★★★★
()
Ответ на: комментарий от kto_tama

>любой вменяемый программер может в линуксе создать свою собственную файловую систему Недавно как раз была дискуссия про ФС и изобретение велосипедов. И так уже чуть ли не каждый, кто ставил какой-никакой Linux-сервер, имеет собственное мнение по поводу лучшей ФС. Теперь каждый будет свою ФС писать?

anonymous
()

есть еще интересная tagsfs - она на перле написана (через FUSE), но старая и не поддерживается давно, кто б ее передала под амарок..

prizident ★★★★★
()

Как-то один опытный виндовый разработчик, сказал: классно у вас в linux-ах, почти все на файловую систему отображается.

Ну а c фьюзом совсем скоро круто будет в этом плане.

ОФФТОП: Что-то IBM разошлась в плане переводов тех. доков и статей на др.языки :) Не заметили? Приятно однако такую заботу наблюдать.

ldvr
()

На англицком это уже боян как год, а вообще пытался кто-нить химичить с этим FUSE?? Как с ним толком работать, где можно взять нормальные, внятные доки в какой последовательности и что надо делать??

knoppix
()
Ответ на: комментарий от anonymous

>>любой вменяемый программер может в линуксе создать свою собственную файловую систему Недавно как раз была дискуссия про ФС и изобретение велосипедов. И так уже чуть ли не каждый, кто ставил какой-никакой Linux-сервер, имеет собственное мнение по поводу лучшей ФС. Теперь каждый будет свою ФС писать?

дада )) и через инитрд ее в качестве рут фс юзать... ужос

а поповоду сабжа fuse не только в linux ) а также в freebsd и mac os x, так что идея хороша, только дока не очень впечатляет :)

libc
()
Ответ на: комментарий от ldvr

>Как-то один опытный виндовый разработчик, сказал: классно у вас в linux-ах, почти все на файловую систему отображается.

В винде примерно тоже самое (в NT ветке) только та фс на которую все отображается не показана пользователям :) и она отгруппирована по каталогам строже (что ей в минус) всмысе \\.\Pipes\named_pipe что-то типа такого :)

>Ну а c фьюзом совсем скоро круто будет в этом плане.

с фьюзом уже хорошо /me погладил sshfs которой пользуется каждый день

libc
()
Ответ на: комментарий от libc

/me любит ntfs-3g за работоспособность

FUSE гг , прям как SUSE

furyz
()
Ответ на: комментарий от kto_tama

> что-либо подобное в оффтопике создать практически невозможно

Насколько я понял из описания дизайна FUSE, возможно.

Relan ★★★★★
()
Ответ на: комментарий от robot12

>а что, FUSE уже проще чем 9P2000 или Styx ????

А что, протокол, чья реализация на питоне занимает 20кб, уже считается сложным?

Кстати, FUSE это не протокол, так что сравнивать их некорректно, это в некотором роде только API.

Основная беда FUSE - это ее производительность.

>robot12 **** (*) (09.03.2007 16:45:54)

rtc ★★
()

bvhjhjgjgjjg

anonymous
()
Ответ на: комментарий от libc

> а поповоду сабжа fuse не только в linux ) а также в freebsd и mac os
> x, так что идея хороша, только дока не очень впечатляет :)

К сожалению на Mac OS X FUSE еще достаточно сыро работает, не стабильно.

Korwin ★★★
()
Ответ на: комментарий от rtc

> Основная беда FUSE - это ее производительность.
Для подовляющего большинства задач производительность FUSE нормальная.

Korwin ★★★
()
Ответ на: комментарий от Korwin

Чет ссылко не открывается.. -(

anonymous
()
Ответ на: комментарий от Korwin

>Для подовляющего большинства задач производительность FUSE нормальная.

особенно если учесть что для некоторых задач нет аналогов не на FUSE (например ntfs)

prizident ★★★★★
()
Ответ на: комментарий от knoppix

>На англицком это уже боян как год, а вообще пытался кто-нить химичить с этим FUSE?? Как с ним толком работать, где можно взять нормальные, внятные доки в какой последовательности и что надо делать??

К сожалению, все доки которые попадались мне в руки - не совсем вменяемые. Мне доводилось писать под FUSE, и лучшей доки чем fuse.h не нашёл. Если хочется написать что-то своё, то лучше изучить какой-то готовый исходник, но не из таких "монстров" как ntfs-3g, а например obexfs. Там часть кода работающая с ФС что-то около 100 строк. По ней в общем я и изучал FUSE. Получился неплохой курсач :)

anonymous
()

Кстати, хотел спросить. Вот ntfs-3g у меня стоит в fc6.

Стал вчера копировать 5гб файл на ntfs. До половины скопировалось нормально, потом скорость начала падать с 20мб/с до 1мб/с. Вобщем, так я и не дождался окончания - прервал.

Еще у кого-нить такой эффект наблюдается? Как-нить это лечится?

jackill ★★★★★
()

Для начального изучения дока малоподходящая, потому как AFS -- она
сама по себе достаточно сложная (и по семантике весьма отличается от
*NIX'овых FS).

Dselect ★★★
()
Ответ на: комментарий от knoppix

> На англицком это уже боян как год, а вообще пытался кто-нить химичить с этим FUSE??

да конечно, посмотри например на SMBNetFS

> Как с ним толком работать, где можно взять нормальные, внятные доки в какой последовательности и что надо делать??

для этого есть папочка examples в дистрибутиве библиотеки fuse, ну и читай заголовочные файлы

anonymous
()

А у кого-нибудь fuse-kio (поддерживает все протоколы, с которыми умеет работать kdelibs) работает?

anonymous
()

Скоро сделают FUSE под Windows? Чтобы можно было сделать какую-то ФС (что-то типа GmailFS или RapidShareFS, ессно с шифрованием файлов и проверкой целостности) и в Windows, и в Linux. :)

anonymous
()
Ответ на: комментарий от kto_tama

> круто > вы только вдумайтесь : > любой вменяемый программер может в линуксе создать свою собственную > файловую систему > мало ли для чего это может понадобиться - тут широкое поле > деятельности > что-либо подобное в оффтопике создать практически невозможно

> kto_tama * (*) (09.03.2007 15:30:17)

У тебя с головою все в порядке? Чайники ext3 не могут нормально примонтировать, а тут у каждого своя файловая система. Дурдом какой то! А при установке линукса, какую файловую систему выбирать, ты что ли будешь советовать?

anonymous
()
Ответ на: комментарий от anonymous

> У тебя с головою все в порядке? Чайники ext3 не могут нормально примонтировать, а тут у каждого своя файловая система. Дурдом какой то! А при установке линукса, какую файловую систему выбирать, ты что ли будешь советовать?

Собственно говоря, а какое Вам дело до Чайников? Прежде всего следует сделать удобно самому себе. Ну а Чайник ничего не монтирует по определению - за него всё смонтировали.

Evgueni ★★★★★
()
Ответ на: комментарий от anonymous

Товарищь верно мыслит и хватит гнать! Вот сделают одну файловую систему для работы с девайсами, файловой системой устройств хранения информации, приложениями и.т.д. и будет так же рульно в этом плане как на маке. Самый простой пример-сделать так, чтобы работа с расшаренными сетвыми папками (SMB/NFS и т.д.) для приложений не отличалась от работы с файловой системой винчестера. Была бы и музычка с виндовых тачек по сети и видео, да и софт было бы проще писать.

Dolphinik
()
Ответ на: комментарий от Dolphinik

> Самый простой пример-сделать так, чтобы работа с расшаренными сетвыми папками (SMB/NFS и т.д.) для приложений не отличалась от работы с файловой системой винчестера.

SMBNetFS, fusesmb, ...

anonymous
()
Ответ на: комментарий от jackill

Спасибо..смотрируй это сюда, а это сюдща и будет тебе счастье? А я не хочу ничего монтировать. Почему система не может сделать это за меня, когда я открываю какой-либо файл в расшареной папке? По-моему никаких трудностей и проблема аактуальна не первый год, однако всем влом это реализовывать...почему то.

Dolphinik
()
Ответ на: комментарий от Dolphinik

>> А я не хочу ничего монтировать. Почему система не может сделать это за меня, когда я открываю какой-либо файл в расшареной папке? По-моему никаких трудностей и проблема аактуальна не первый год, однако всем влом это реализовывать...почему то.

Точно влом. Как минимум smbnetfs и fusesmb уже который год именно этим и занимаются для виндовых шар.

sergej ★★★★★
()
Ответ на: комментарий от progserega

>На маке даже /proc нет...

Благодаря FUSE как раз и есть...

mo3r
()
Ответ на: комментарий от Dolphinik

Поставь smbnetfs и не парь мозги ни себе, ни людям. Она монтирует _все_ виндовое окружение в одну папку. После чего уже никаких шар монтировать не нужно. будешь ходить по путям типа

/mnt/smbnet/MSHOME/COMPUTER/Shared Files/blablabla....

sergej ★★★★★
()
Ответ на: комментарий от jackill

тогда странно, ибо

Version 0.20070102-BETA:

    * fix: writing large files could be very slow
    * fix: writing several files at the same time could be very slow
    * fix: writing at several places into a file at the same time could be very slow 

kavs
()
Ответ на: комментарий от troorl

> Каждому онанимусу по файловой системе =)

А я уже написал свою Онанимную Файловую Систему!

anonymous@localanonymoushost anonymous-dir.017 $ ls -la
drwxr-xr-x  3 anonymous lor   unkn-size 0000-00-00 00:00 .
drwxr-xr-x 16 anonymous lor   unkn-size 0000-00-00 00:00 ..
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.001
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.002
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.003
-rw-r-----  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.004
-rwxr-xr-x  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.005
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.006
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.007
-rwxr-xr-x  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.008
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.009
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.010
-rw-r--r--  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.011
-rw-------  1 anonymous lor   unkn-size 0000-00-00 00:00 anonymous.file.012

anonymous
()
Ответ на: комментарий от Dolphinik

Если дырка в голове, надо пить зеленку

> Спасибо..смотрируй это сюда, а это сюдща и будет тебе счастье?

> А я не хочу ничего монтировать.

С головой не дружим?

> Почему система не может сделать это за меня, когда я открываю какой-либо
файл

Может ей еще угадать, какой файл открыть и чего с ним сделать?

> в расшареной папке?

Простите, где-где?

Dselect ★★★
()
Ответ на: комментарий от sergej

offtopic: automounter[s]

> будешь ходить по путям типа
> /mnt/smbnet/MSHOME/COMPUTER/Shared Files/blablabla....

Можно и стандартным automounter'ом сделать нечто подобное.

-< кусь-кусь-кусь <-
#!/bin/sh
# /etc/auto.smb
# This file must be executable to work! chmod 755!

key="$1"
opts="-fstype=smbfs"

SMBCLIENT=/usr/bin/smbclinet

smbclient -gNL $key 2>/dev/null| awk -v key="$key" -v opts="$opts" -F'|' -- '
BEGIN { ORS=""; first=1 }
/Disk/ { if (first) { print opts; first=0 }; print " \\\n\t /" $2, "://" key "/" $2 }
END { if (!first) print "\n"; else exit 1 }
'
-< кусь-кусь-кусь <-


-< кусь-кусь-кусь <-

# /etc/auto.master
/var/autofs/smb /etc/auto.smb --timeout=900

-< кусь-кусь-кусь <-

после чего по обращению к /var/autofs/smb/hostname/

монтируется с этого хоста все, до чего руки дотянутся.

Dselect ★★★
()

FUSE - эт хорошо! Сам использую sshfs, fusesmb а так же ninefuse (9p2000), которую сам пишу. Кстати, если у кого есть время - можете помочь: http://sourceforge.net/projects/ninefuse

Zmacs
()

на fuse есть нефиговая кластерная файловая система - glusterfs (www.gluster.org). Хотя, на самом деле это просто надстройка над любой fs, которая позволяет делать распределенные файловые системы на базе любой fs. Например у меня сейчас между 2мя компами сделан кластер на glusterfs, причем в качестве fs на самих компах используется reiser, а glusterfs работает поверх него. Вобщем можно сказать что работает достаточно быстро. Сравнимо с той же lustre, при этом никаких патчей на ядро не надо и MDS не нужен

anonymous
()
Ответ на: offtopic: automounter[s] от Dselect

>> монтируется с этого хоста все, до чего руки дотянутся.

А если хостов много и они то включаются, то выключаются???

sergej ★★★★★
()
Ответ на: комментарий от robot12

> а что, FUSE уже проще чем 9P2000 или Styx ????

Вы сравниваете несравнимое. FUSE предоставляет реализовать практически любой протокол в виде файловой иерархии, т.е. осуществлять доступ к ресурсам через cat, echo, etc. На FUSE можно и 9p2000 (ninefuse) и Styx.

Zmacs
()
Ответ на: комментарий от anonymous

>А у кого-нибудь fuse-kio работает?

Да

Led ★★★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.