LINUX.ORG.RU

Вышел fuse-zip 0.2.0: первая файловая система для FUSE с поддержкой модификации ZIP-архивов

 , , ,


0

0

Вышла fuse-zip 0.2.0. Релиз хоть и минорный, но революционный по своей сути.

fuse-zip позволяет любой программе работать с содержимым zip-архива как с обычным каталогом, читать/редактировать/добавлять/удалять файлы безо всяких дополнительных модификаций.

fuse-zip не имеет аналогов, так как из всех существующих файловых систем изменять содержимое архива может только виртуальная файловая система mc, требующая для своего использования специальной доработки в программе.

По производительности fuse-zip превосходит все известные аналоги, будь то KIO, Gnome GVFS, mc vfs, unpackfs, avfs или файловая система, построенная на основе fuse-j, на больших архивах и не уступает им на малых объёмах данных.

Тесты производительности VFS: http://code.google.com/p/fuse-zip/wik...

>>> Скачать

O! А я как раз запустил предидущий fuse-zip на fuse, портированой мной на Windows :)

Сейчас как раз работаю с функциями записи.

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

> Ты бы ещё сказал, что "Ярлык" == "символическая ссылка" :-)))

Кстати, посредством fuse это можно реализовать :)

gaa ★★
() автор топика

маленький вопрос по поводу имён файлов:

некоторое время назад попался мне zip с песнями из "дня выборов", дак с convmv пришлось дважды по распакованным файлам пройтись после unzip'а, т.к. unzip все имена не в латинице корявит. какую комбинацию последовательных convmv применить узнал только из alt-linux'овских форумов.

Есть ли/ будет ли в fuse-zip опция, задающая кодировку имён файлов в архиве?

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

> O! А я как раз запустил предидущий fuse-zip на fuse, портированой мной на Windows :)

Интересненько... Хотелось бы увидеть результаты оного действа

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

> Есть ли/ будет ли в fuse-zip опция, задающая кодировку имён файлов в архиве?

/usr/share/doc/libfuse2/README.gz

Mount options
=============

Most of the generic mount options described in 'man mount' are
supported (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime,
noatime, sync async, dirsync). Filesystems are mounted with
'-onodev,nosuid' by default, which can only be overridden by a
privileged user.

These are FUSE specific mount options that can be specified for all
filesystems:

...

modules=M1[:M2...]

Add modules to the filesystem stack. Modules are pushed in the
order they are specified, with the original filesystem being on the
bottom of the stack.


Modules distributed with fuse
-----------------------------

iconv
`````
Perform file name character set conversion. Options are:

from_code=CHARSET

Character set to convert from (see iconv -l for a list of possible
values). Default is UTF-8.

to_code=CHARSET

Character set to convert to. Default is determined by the current
locale.

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

> Будет версия постарше - прикручу для хранения сквидового и бразуерного кэша

Версию хоть 666.17.22 можно выставить, фичи-то какие нужны? :)

Да и, как автор, я сильно сомневаюсь в том, что от подобного прикручивания будет сильный эффект. Ибо новые/модифицированные файлы до отмонтирования сидят в оперативке.

gaa ★★
() автор топика

> Это умеет avfs. Она read-only и ненамного отстаёт по производительности.

Вот только avfs уже несколько лет как не компилится на современных ядрах..

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

>> Это умеет avfs. Она read-only и ненамного отстаёт по производительности.

> Вот только avfs уже несколько лет как не компилится на современных ядрах..

У меня вчера скомпилилось и работает.

$ uname -a
Linux gaa 2.6.24-1-amd64 #1 SMP Fri Apr 18 23:08:22 UTC 2008 x86_64 GNU/Linux

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

compFUSEd лучше тогда fuse-zip перестраивает архив только после umount'a а в процессе оно просто висит и ничего не делает кроме отслеживания изменений.

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

>вот мне видится такое применение - музыку хранить в zip архивах, чтобы было удобно расшаривать ее в осле, и через fuze-zip содиржимое этих архивов отправлять в плеер.

Чушь несусветная. Музыка и так сжата. Если архивировать, то tarом.

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

>Версию хоть 666.17.22 можно выставить, фичи-то какие нужны? :)

Стабильность и надежность - очень уж недоверяю второму релизу - тем более про неправильное отображение размера чтото уже писали.

>Да и, как автор, я сильно сомневаюсь в том, что от подобного прикручивания будет сильный эффект. Ибо новые/модифицированные файлы до отмонтирования сидят в оперативке.

Эм...

dd if=/dev/urandom of=/where/mounted/zip/file bs=1024 count=1000000

Скушает гиг оперативки? O_O

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

>Интересненько... Хотелось бы увидеть результаты оного действа

Выложу в ближайшие дни (когда уберу из кода хаки, за которые совсем стыдно). Делаю на основе: http://decas-dev.net/en/

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

> dd if=/dev/urandom of=/where/mounted/zip/file bs=1024 count=1000000; Скушает гиг оперативки? O_O

Да. Я ж говорил, что у меня есть много идей по кешированию(в т.ч. сброс кеша в файлы) :)

Вообще, я не считаю это use case-ом для архивной vfs. Но править поведение, естественно, буду.

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

в осле обычно музыка выкладывается по альбомам в архивах, может и без сжатия.

чтобы не хранить скачанное дважды и нужна запрошенная функциональность

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

> compFUSEd лучше тогда fuse-zip перестраивает архив только после umount'a а в процессе оно просто висит и ничего не делает кроме отслеживания изменений.

> Silvy (*) (11.06.2008 12:51:10)

Сильви, ты точно девушка, а не бородатый одмин?

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

пора менять стереотипы =)

кстати я и не админю ничего кроме собственного ноута и vps'нутого сервера

ps: compFUSEd мне не понравилась LZOlayer нескомпилилась.. нда уж , ладно, переживу

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

> ps: compFUSEd мне не понравилась LZOlayer нескомпилилась.. нда уж , ладно, переживу

Что-то я её пропустил при поиске аналогов. Оно зипы редактировать умеет?

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

нет это просто файловая система для fuse с сжатием файлов (насколько я поняла делается "зеркало" в скрытом каталоге, файлы жмутся bzip2/gzip/lzo/lzo2) ну и сжимаются-расжимаются на лету

для кеша squid'a сойдет наверное )

Sylvia ★★★★★
()

о! лет 8 назад пользовался подобной программой в виндах. не прошло и 10 лет, как подобная возможность появилась в линуксе)))

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

кстати вот .pro файл получше:

TEMPLATE = app
CONFIG -= moc
KDEPREF=$$system(kde-config --prefix)
INCLUDEPATH += .
INCLUDEPATH += $${KDEPREF}/include/kde

# Input
SOURCES += main.cpp

LIBS += -L$${KDEPREF}/lib -lkdecore -lkio

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

Гляди, опять кто-то подловит ;).

ЗЫ. Малаца. Так держать!

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

> нет это просто файловая система для fuse с сжатием файлов (насколько я поняла делается "зеркало" в скрытом каталоге, файлы жмутся bzip2/gzip/lzo/lzo2) ну и сжимаются-расжимаются на лету

Значит не конкурент :) Теперь я спокоен

> для кеша squid'a сойдет наверное )

Ой вряд ли... Всё же записать/прочитать 10мб дешевле чем сжать/записать/прочитать/разжать то же самое, но упаковав до 3 мб.

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

> кстати вот .pro файл получше:

поправил.

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

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

А Far считается стороенней прогой? А TotalCommander?

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

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

> А Far считается стороенней прогой? А TotalCommander?

<одел фуражку Капитана О>

У них свои велосипеды для открытия архивов

<снял фуражку>

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

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

>А Far считается стороенней прогой? А TotalCommander?

гдеж вас таких делают то?..

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

>>а её уже можно использовать как / ?

> Это же fuse

и что же мешает примонтировать fuse-раздел в initrd и переместить на / ?

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

> и что же мешает примонтировать fuse-раздел в initrd и переместить на / ?

В zip-е нет симлинков, прав доступа, владельцев...

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

>>и что же мешает примонтировать fuse-раздел в initrd и переместить на / ?

Ничто. Попробуй, потом отпишешься ;)

alex_custov ★★★★★
()

Хм...

[gforgx@ffap ~]$ mkdir zip

[gforgx@ffap ~]$ fuse-zip 3\(164\).zip zip/

[gforgx@ffap ~]$ ls zip/

10+.pdf 12+.pdf 14+.pdf 16+.pdf 18.pdf 20+.pdf 5+.pdf 7.pdf 9.pdf

11+.pdf 13.pdf 15.pdf 17+.pdf 19+.pdf 37.pdf 6.pdf 8.pdf

Захожу в папку Коньком, после этого:

[gforgx@ffap ~]$ ls zip

ls: невозможно получить доступ к zip: Конечная точка передачи не подсоединена

Так и должно быть?

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

> ls: невозможно получить доступ к zip: Конечная точка передачи не подсоединена. Так и должно быть?

Нет, конечно. Попробуй прислать мне архив, если он не очень крупный(меньше 2 метров).

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

>вот для сквида и браузерного кеша лучше ничего не нашла, за идею спасибо, впрочем

Спасибо! Попробую Orlangoor ***** (*) (11.06.2008 13:44:12)

А как прикрутить к фоксу?

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

> Только на нём... Прислать не получится - 14 мб.

Тогда запусти fuse-zip $archive -d $mountPoint и пришли логи.

gaa ★★
() автор топика

галактеко опасносте

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