Pull to refresh
32
0

Пользователь

Send message

Если переместить, то
vitis assign X/Y -n Z/Y
Это фактически переименование одной категории в другую. Подкатегория X/Y перестанет существовать. При этом Z уже должна быть создана (это поведение я скоро изменю).
Если просто скопировать одно в другое:
vitis assign Z/Y -e X/Y
Будут скопирована эта тысяча символических ссылок, да.
Т.к. ссылки мизерные, это в любом случае быстро.

Ubuntu 16.04 туда же, но почему-то ряд производителей таких компьютеров застряли именно на этом дистрибутиве.

Интернет говорит, что семантическая файловая система обычно является надстройкой над обычной (т.е. она не обязана быть настоящей ФС). Про организацию хранения я писал — да, это символические ссылки и директории стандартной ФС (ext4 или любая другая UNIX-овая с поддержкой символических ссылок). Конечно, я думал о создании настоящей файловой системы, но это не в обозримом будущем, а для всяких cd/cp/ls можно использовать и FUSE, это будет проще. На раннем этапе я создавал маленькие скрипты vts-cd, vts-cp, vts-mkcat, vts-rm и др. С развитием удобства vitis для меня они стали неактуальными. Я сознательно отошёл от виртуальной ФС, о чём я выше уже в комментариях писал. Но вообще, как доп.функция, возможно, в каком-то виде это действительно может быть полезным, это нужно будет тщательно продумать, потому что не всё так просто, возникают концептуальные проблемы.

Да, здесь есть проблемы, связанные с тем, что vitis не может быть полностью интегрированным со всеми приложениями. Как вариант, редактированная фотография сохраняется в файловое пространство, и редактированную фотографию нужно отдельно покрыть категориями. Когда это происходит массово, можно сразу куче фоток назначить одни категории. Когда будет графическая оболочка для vitis, ряд подобных проблем можно будет сгладить.
Насчёт отдельных фотографий — здесь вы мне подали идею: есть команда vitis copy <выражение> -d <каталог назначения>, её можно будет расширить с применением списка номеров, как это сделано уже в других подкомандах (например, -n 3-6,8,12-15). Ну или как вариант особо понравившиеся добавить в категорию "Избранное" и сделать что-то вроде:
vitis copy Избранное i: Фотографии_от_25.06.2019 -d <путь к флешке родственников>
Если этим родственникам требуется отправить фотки куда-нибудь в мессенджер/соц.сеть, то через окно выбора файла можно просто добраться до нужной категории в директории "Vitis" и визуально выбрать нужные фотографии.

Нет, этого я не встречал. Изучу на досуге

Я рассматривал такой вариант, но натолкнулся на ограничения расширенных атрибутов, например, были проблемы с использованием русского языка. И я решил, в vitis можно игнорировать факт уже существующей поддержки файловыми системами метаинформации для файлов, я просто не нашёл как это можно применить. А периодическое сканирование состояния системы накладывает свои вопросы: если это в фоне происходит, то должен быть демон, если пользователь сам должен об этом беспокоиться, то после десятого запуска сканирования для актуализации системы ему уже будет несколько грустно этим заниматься. Сейчас у меня хранение устроено просто, и этого достаточно для осуществления задуманных функций.

Согласен, что это выглядит как костыль, однажды добавлю команду vitis migrate .... Так или иначе даже в аварийном случае ситуация перемещения всё равно легко исправляется.

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

Если у читателей есть интерес, то возможно. Это очень большая тема для исследования. Нужно будет рассказать про тэги MacOS, про незавершённую WinFS, про подход BeOS/HaikuOS, хэштеги и подобные понятия, активно используемые в Интернете, про Tagsistant, SemFS, иные небольшие проекты (я, кстати, видел на Github'е несколько заброшенных репозиториев на схожую тематику), про существующие встроенные возможности файловых систем, попробовать закопаться поглубже в историю вопроса. Если этим заняться, может выйти что-то добротное, но тема серьёзная по масштабу

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

Конкретнее: полагаю странным пытаться пользоваться семантической файловой системой, используя интерфейс фактически для обычной файловой системы. Воспользуюсь примерами использования tagsistant с главной страницы:


mkdir ~/myfiles/tags/startrek
mkdir ~/myfiles/tags/starwars
cp first_contact.avi ~/myfiles/store/startrek/@
cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@

против


vitis assign startrek -f first_contact.avi
vitis assign starwars -f the_return_of_the_jedi.avi

Выборка файлов по тэгам выглядит там так:


ls ~/myfiles/store/startrek/+/starwars/@

А в vitis так:


vitis show startrek u: starwars

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

Смотрел, конечно. Про tagsistant я узнал позже начала своих работ и, поизучав интерфейс, понял, что моего внимания это не стоит

1) Есть функция копирования файлов по запросу. Недавний реальный случай: у меня есть альбом саундтреков из короткометражки "Кунг Фьюри" и есть сама видеозапись. Мне потребовалось скопировать на флешку одному своему товарищу это видео и я сделал примерно так:
vitis copy Короткометражки i: "Кунг Фьюри" -d /mnt/flashdrive/dir
Возможно, что я неправильно проинтерпретировал вопрос.
2) Эта хорошая мысль и я давно о ней думаю: создавать что-то типа временных "комнат" по запросу с использованием виртуальной файловой системы. В этом определённо есть смысл и однажды я это сделаю.
3) Тоже разумная мысль — использовать уже имеющуюся метаинформацию, что актуально для некоторых форматов файлов. До это я просто ещё не дошёл. Идея вполне закономерна.

Как раз чтобы не плодить «дрянь», можно делать псевдонимы. При добавлении новых категорий перебором на автодополнении можно себе напомнить названия существующих категорий. Да, здесь тоже не помешает следить за чистотой в структуре категорий: «photonew», например, никак не может характеризовать файлы в долгосрочной перспективе (в данном случае могли бы подойти категории, связанные с тематикой фоток, временем, названием фотоаппарата и т.д.). Что касается вопроса о 200 000+, то для начала можно всё автоматически категоризировать по формату/типу/расширениям (в vitis это есть), что уже будет неплохо. Потом по мере использования можно иногда добавлять нужные категории. Да, временные затраты при появлении новых файлов могут превышать простое копирование/скачивание в нужную директорию. Зато скорость доступа становится гораздо выше, когда не нужно «ручками» добираться до нужного файла в нужной директории. Конечно, это только мой личный опыт и моё субъективное мнение. Посчитав, что оно того стоит, я оформлял это дело изначально как свободный проект в надежде, что он кому-нибудь может быть полезен.
В статье я уже упомянул, что категории являются директориями с символическими ссылками на оригинальные файлы. Были мысли сделать это на основе БД, но с точки зрения удобства и наглядности, это не самый хороший вариант. Расширенные атрибуты файлов — прикольно, но при запросе определённой категории пришлось бы сканировать сразу все категоризированные файлы в попытке найти нужные с запрошенным атрибутом.

Information

Rating
Does not participate
Location
Россия
Registered
Activity