LINUX.ORG.RU
ФорумAdmin

как сделать view в файловой системе?


0

1

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

Т.е. мне надо из дерева сделать плоский каталог (не портя дерево), можно и без симлинков,
но нет идей - как сделать по-другому.



Последнее исправление: StrongDollar (всего исправлений: 1)
Ответ на: комментарий от bl

смотри, один каталог содержит много подкаталогов, в них файлы.

мне нужно сделать другой каталог, в котором окажутся все файлы (плоским списком, без под каталогов).

--bind не пойдет, т.к. он из одного дерева сделает другое дерево, точно такое же.

можно было бы объединить все вложенные каталоги при помоши какой-нибудь aufs. Но не получится, потому что количество каталогов может меняться.

StrongDollar
() автор топика
Последнее исправление: StrongDollar (всего исправлений: 2)

стало яснее.
сам когда-то решал подобную задачу, но цель была такова:
есть arm-плата, файловая система на sd-карте что дает -20 к скорости и если перезаписывать её часто -10 к живучести.
надо создать копию нескольких тысяч джипегов и провести операцию сборки timelapse видео.
делал симлинки в /dev/shm/blabla/ это быстро.
т.к. тебе надо актуальность - то напиши скрипт который будет очищать и пересоздавать дерево каталогов по событию или расписанию.
вместо /dev/shm можешь монтировать tmpfs/ramfs

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

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

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

ну наверное, но мне не очень нравится костыльность этого варианта. В идеале - это должна быть система типа aufs, только другая (выпрямляющая).

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

Тогда берёшь биндинг fuse к любому языку и пишешь.

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

возможны, но какая разница? Можно доопределить какие-нибудь правила, например более свежий по времени - лучше.

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

Вася/договор.докх, Петя/договор.докх, Отдел\ Продаж/образцы/договор.докх.

Делай хотя бы dir.file, заменяя / например точкой.

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

не имеет смысла, это названия пакетов с версиями, они редко совпадают (из разных репозиториев, или если перенести из категории в категорию что вряд-ли)

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

когда придумывали view для sql-сервера, их мало заботило, что названия колонок в таблицах могут совпадать. Они конечно сделали потом возможность переименования, но не стали делать специальную схему именования с точками. Это я к тому, что задачи надо решать в общем виде, а не пытаться требовать ТЗ

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

Просто есть ненулевая вероятность, что ты не должен этого хотеть™®, и что для конкретно твоей задачи есть уже более простое и универсальное решение, чем горожение своих велосипедов.

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

в бесконечный цикл засунь и в автоподгрузку

vxzvxz ★★★
()

inotify. man inotifywait например, или inotifywatch. И вызывай по их событиям скрипт реиндексации и перестроения ссылок.

no-dashi ★★★★★
()

стесняюсь спросить, а нафига такое странное пожелание видеть список?

не проще ли делать ls -laR по требованию?

MikeDM ★★★★★
()

Програмку поверх inotify.

qnikst ★★★★★
()

Кстати, в mc такая штука есть: панелизация в результатах поиска. Но, естественно, без непрерывной поддержки актуальности.

ABW ★★★★★
()

буду оригинален: семантический(c)(r)(tm) поиск

Ставишь теги, и потом тебе ФМ по тегам список формирует

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 2)

Слышал про какую-то rewritefs, может подойдёт, ХЗ.
Про inotify выше уже написали.

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