URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 38755
[ Назад ]

Исходное сообщение
"OpenNews: Патч для интерпретации файлов как директорий в Linux"

Отправлено opennews , 21-Окт-07 04:29 
Jaroslav Sykora представил (http://kerneltrap.org/Linux/Shadow_Directories) реализацию механизма "теневых директорий" (shadow directories), суть которых в возможности интерпретации структурированного файла в виде иерархии директорий. Например, к заархивированным данным можно обратиться через команду "cat hello.zip^/hello.c" или "ls hello.zip^/", где символ "^" является сигналом для интерпретации файла как директории.


Операция разбора данных файла производится на пользовательском уровне, средствами дополнительных FUSE модулей.


URL: http://kerneltrap.org/Linux/Shadow_Directories
Новость: http://www.opennet.me/opennews/art.shtml?num=12480


Содержание

Сообщения в этом обсуждении
"Патч для интерпретации файлов как директорий в Linux"
Отправлено Nick , 21-Окт-07 04:29 
ну, а почему бы и нет...

"Патч для интерпретации файлов как директорий в Linux"
Отправлено Аноним , 22-Окт-07 04:27 
>ну, а почему бы и нет...

А зачем ^ надо?Чем запись /folder/file.zip/cool-file-in-zip.txt например невалидна?Налетев на факт что file.zip файло а не дира и cd не катит - можно мля, посмотреть что это за дрянь и дальше парсить уже как зипарь.Зачем какие-то извращения с ^ надо?Потому что так халтурщикам парсить проще?Зато юзерам обучаться под это - убиться можно.Сами будете секретуток учить этим премудростям.А так они бы считали архив за нечто типа точки монтирования - достаточно 1 раз 1 понятие вдолбить и телемаркет :)


"Патч для интерпретации файлов как директорий в Linux"
Отправлено RNZ , 22-Окт-07 10:47 
+1

"Патч для интерпретации файлов как директорий в Linux"
Отправлено tux2002 , 23-Окт-07 07:45 
>>ну, а почему бы и нет...
>
>А зачем ^ надо?Чем запись /folder/file.zip/cool-file-in-zip.txt например невалидна?Налетев на факт что file.zip
>файло а не дира и cd не катит - можно мля,
>посмотреть что это за дрянь и дальше парсить уже как зипарь.Зачем
>какие-то извращения с ^ надо?Потому что так халтурщикам парсить проще?Зато юзерам
>обучаться под это - убиться можно.Сами будете секретуток учить этим премудростям.А
>так они бы считали архив за нечто типа точки монтирования -
>достаточно 1 раз 1 понятие вдолбить и телемаркет :)

А если find или ls тебе не нужно содержимое архива вываливать? Я предпалагаю для этого и придумали ^, чтоб не патчить программы.


"Патч для интерпретации файлов как директорий в Linux"
Отправлено www.andr.ru , 22-Окт-07 13:42 
Это они правильно идею от Plan 9 подхватили, - всё есть файл, - но только вот реализация этих принципов в линукс слишком дорого стоит - пространство имён одно на всех и обслуживается ядром. Архитектура не та, всё равно, что крылья к паровозу прикручивать. Красиво, конечно, но не летает :-)

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


"Патч для интерпретации файлов как директорий в Linux"
Отправлено Nick , 22-Окт-07 14:08 
>Это они правильно идею от Plan 9 подхватили, - всё есть файл,
>- но только вот реализация этих принципов в линукс слишком дорого
>стоит - пространство имён одно на всех и обслуживается ядром. Архитектура
>не та, всё равно, что крылья к паровозу прикручивать. Красиво, конечно,
>но не летает :-)

дурак ты боцман, и шутки у тебя дурацкие...

В каком году до нашей эры ты последний раз видел Линух?
Будешь гордиться шо в пятисотом? Ну молодчинко.
Потому как трепаццо ты можешь, а знать о чем говоришь - несколько тяжелее.

Иди смотри "User Namespaces", опция CONFIG_USER_NS.
Вместе с Documentation/sharedsubtree.txt   неплохо пойдет на пользу.


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

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


"Патч для интерпретации файлов как директорий в Linux"
Отправлено яФря , 22-Окт-07 19:24 
опять грустный клоун вылез из своего шатра и решил доставить немного бесплатного фана

"Патч для интерпретации файлов как директорий в Linux"
Отправлено R007 , 22-Окт-07 20:24 
>А вот зачем хитрые символы изобретать для интерпретора?

Вот этого я не понял.Если немного изменить логику разборта пути и при ошибке cd глянуть что это файл и прикинуть его формат и далее разруливать иерархию через соотв. обработчик - было бы отлично.И что интереснее, не вижу никаких препятствий к этому.Кроме несколько большего объема кодинга.Да, такое поведение надо закодить.А с крышкой можно от этого отмазаться.

>Есть ведь команда mount,

Дядя, я конечно понимаю что в ваши годы слово usability не слышали.Но монтировать зипарь чтобы посмотреть его содержимое... нет, технически тому никаких проблем нет.Но ГЕМОРРОЙНОСТЬ этого метода для юзера - внушает!

>среде? Такие вот ламеры делают очень просто - пишут одно и
>то же трижды, на каждый конкретный случай.

Да, а вы как самый умный наверное монтируете каждый зипарь чтобы посмотреть его содержимое?Ок, а если зипарей 20?А не запаритесь моунтить то???


"Патч для интерпретации файлов как директорий в Linux"
Отправлено exn , 21-Окт-07 08:35 
Хавает тип файла только по расширению ?
Символ ^ ядро всегда перехватывает ?
Не понял по поводу записи в архив.

Много глюков ?


"Патч для интерпретации файлов как директорий в Linux"
Отправлено Аноним , 21-Окт-07 11:57 
а cat-ы и ls-ы не обижаются на несуществующий файл "hello.zip^/hello.c"?
или их тоже надо патчить? или они не производят проверку наличия файла своими силами, а всё тупо передают ядру?

"Патч для интерпретации файлов как директорий в Linux"
Отправлено Zert , 21-Окт-07 12:25 
Проверка существования файлов выполняется через системные вызовы, а их обрабатывает ядро. Так что юзерспейсные программы патчить не придётся. Но, всё равно, эта затея мне не кажется красивой, какая-то череззадница.

"Патч для интерпретации файлов как директорий в Linux"
Отправлено Tau , 21-Окт-07 12:53 
Все-таки kernel mode.. Мне не хочется пробовать

"Патч для интерпретации файлов как директорий в Linux"
Отправлено Кхтулху , 21-Окт-07 13:37 
Операция разбора данных файла производится на пользовательском уровне, средствами дополнительных FUSE модулей.

ничего не испортится.


"Патч для интерпретации файлов как директорий в Linux"
Отправлено Аноним , 22-Окт-07 04:33 
>Все-таки kernel mode.. Мне не хочется пробовать

FUSE - не кернел.Вы в вопросе не рубите.


"Патч для интерпретации файлов как директорий в Linux"
Отправлено Аноним , 22-Окт-07 04:33 
>мне не кажется красивой, какая-то череззадница.

Во-во.Красиво было бы попытаться прожевать /path/to/file.zip/text.txt сперва как путь в ФС а когда это не прокатит поскольку file.zip не директория нифига - подчитать файло чутка и посмотреть на формат.Если знаем как парсить - вуаля, пытаемся пропарсить дальше.Нет - вернуть ошибку.Нафиг какие-то крышки нужны?Чтобы юзерам мозг запутать?

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


"Патч для интерпретации файлов как директорий в Linux"
Отправлено stimpack , 21-Окт-07 20:04 
Это должно подтянуть консоль по юзабилити, по сравнению с FileManager-ами (от конкверрора до mc), которые смотрят в архив, как в файл, пользуясь разархиваторами.
А то сиди, вспоминай, как у zip-а выдрать файл, потом как у рара посмотреть список и так далее.
PS: сам FileManager-ами не пользуюсь, предпочитаю консоль.

PPS:Эх, а потом ещё zsh-style tabbing на это дельце:
cat hello.zip^/[tab]
hello.c    hello.h     README       INSTALL       Makefile
cat hello.zip^/I[tab]
cat hello.zip^/INSTALL


"Патч для интерпретации файлов как директорий в Linux"
Отправлено exn , 21-Окт-07 21:47 
а если архифчег в гигигах ? :D

"А если ещё и на запись?"
Отправлено Дмитрий Ю. Карпов , 22-Окт-07 10:26 
Если из архива читают - это не так страшно. А вот если в архив что-то записывают, то тут загрузка процессора и диска взлетают до небес, и надолго.

Хотя для Апача это было бы весьма удобно - на диске хранятся архивы, из которых на лету выдёргиваются файлы, причём ещё и кэшируются в раззипованном виде. За счёт бОльшей компактности растёт КПД дискового кэша, хотя возрастает нагрузка на процессор.


"Патч для интерпретации файлов как директорий в Linux"
Отправлено vbv , 21-Окт-07 23:30 
Простите, а зачем этот цирк?
Народ, может пора вспомнить зачем нужны архиваторы.
Кому мало - есть навалом user space драйверов монтирующих архивы, ftp и прочее. Но это скорее для любителей не традиционных способов ...... .
Идея интрересная, для теоретических исследований.
Применение в практике - 100% вреда, тем более при нынешней цене на носители.

"Патч для интерпретации файлов как директорий в Linux"
Отправлено R007 , 22-Окт-07 23:46 
>Применение в практике - 100% вреда, тем более при нынешней цене на
>носители.

Ну не 100%.Как насчет LZ-based алгоритмов которые быстры в декомпрессии?Они иногда столь быстры что может выйти выигрыш в скорости.Просто потому что меньше читается с тормозного по своей сути харда.Не верите?Посмотрите на алгоритмы типа UCL и LZO, у них декомпрессия с немеряной скоростью - на современном скорее в HDD упрется чем в их скорость работы :)


"Патч для интерпретации файлов как директорий в Linux"
Отправлено Аноним , 22-Окт-07 01:05 
Интересная штука...

"OpenNews: Патч для интерпретации файлов как директорий в Lin..."
Отправлено pavel_simple , 22-Окт-07 07:50 
а зачем это всё -- если это уже давно есть без гемороя и в чистом user space
http://plasticfs.sourceforge.net/

"OpenNews: Патч для интерпретации файлов как директорий в Lin..."
Отправлено stimpack , 22-Окт-07 08:51 
я там что-то никаких плагинов архиваторов не заметил.

"OpenNews: Патч для интерпретации файлов как директорий в Lin..."
Отправлено pavel_simple , 22-Окт-07 08:53 
+/dev/hands