Post B8pnkXOJKuL1t7qC8m by drq@mastodon.ml
(DIR) More posts by drq@mastodon.ml
(DIR) Post #B8ph8Dl3HgWgGep8d6 by drq@mastodon.ml
0 likes, 0 repeats
С каждым днем все больше и больше мечтаю о поддержке тегов в ФС.Дерево директорий - слишком ригидная система иногда, а ссылки не всегда помогают.@n0icz заразила меня.
(DIR) Post #B8phF03gcIzLo4lwzA by grishka@friends.grishka.me
0 likes, 0 repeats
типа таких что ли?)
(DIR) Post #B8phK19RyrOEe0rReC by drq@mastodon.ml
0 likes, 0 repeats
@grishka да, типа. Они у вас на уровне ФС поддерживаются?
(DIR) Post #B8phVPTNtUpPGHcKjg by grishka@friends.grishka.me
0 likes, 0 repeats
Dr. Quadragon ❌, и да, и нет, они лежат в расширенном атрибуте, но их индексирует spotlight и по ним можно искать
(DIR) Post #B8pjWC9j5lIG9ovNlA by drq@mastodon.ml
0 likes, 0 repeats
@n0icz я вот че подумал, это же даже не настолько было бы сложно реализовать и на старой доброй Ext4, не прибегая к каким-то новым ФС с крутой системой метаданных.Мы, например, знаем, что имя файла (как и его адрес в дереве директорий) это технически просто хардлинк на некоторую область на диске, и таких хардлинков может быть сколько угодно. То есть, по сути это уже и есть готовая система тегов, надо просто сделать ее чуточку комфортнее.Например, сделать в корне специальную директорию "/tags", в ней создать поддиректории по именам тегов, а эти директории забить хардлинками на тегированные файлы, и любые операции с ней расценивать только как линкование/разлинкование, запретив копирование и удаление. Ненуачо, ext4 уже создает служебную папку "/lost+found" со всяким говном с проверки, и никто туда даже не заглядывает, почему бы не сделать что-то более полезное. Заодно юниксвейно, все можно через файлы и сисколлы делать в файловых менеджерах.
(DIR) Post #B8pmeSJ3EF5QQTutQ8 by volandevsrat@mastodon.ml
0 likes, 0 repeats
@drq Я не очень понял, ты хочешь чтобы, условно, в файловом менеджере можно было создать группу файлов и находить эти файлы в отдельной вкладке, а не настоящей папке? Ну тогда удобнее будут симлинки, если честно. Да и проще будет реализовать на уровне файлового менеджера. Типа в домашней директории создать папку groups в ней папки групп, а в каждую такую папку кидать симлинки на избранные файлы.@n0icz
(DIR) Post #B8pmfhhrSNgUTj7IHY by dside@mastodon.ml
0 likes, 0 repeats
@drq это, правда, может приводить к неочевидным приколам, которых от системы тегов не ожидаешь — нет простого способа полностью удалить файл, например. До тех пор, пока на него есть хотя бы один хардлинк, он будет храниться на диске. Потому что, насколько файловая система осведомлена, это полноценные файлы. Просто, по стечению обстоятельств, хранящие своё содержимое в одном и том же месте.@n0icz
(DIR) Post #B8pmthyBH6UNLhQaEC by oreolek@craba.cab
0 likes, 0 repeats
@drq @n0icz читать, просвещаться. Thunar умеет помечать файлы цветом и сохранять цвета в эти теги.https://wiki.archlinux.org/title/Extended_attributes
(DIR) Post #B8pn8DSP0Bpj3lTue8 by drq@mastodon.ml
0 likes, 0 repeats
@volandevsrat 1) тогда каждый менеджер будет это реализовывать по-разному, и будет жопа2) а че если я в шелле вообще сижу? @n0icz
(DIR) Post #B8pnIQRvYGZSFb7yHw by drq@mastodon.ml
0 likes, 0 repeats
@dside Зато не надо ничего спецом индексировать в отдельном процессе. Но да, проблема есть. Не то, что бы нерешаемая, наверное. @n0icz
(DIR) Post #B8pnTz2BJ50OhNb2Ce by drq@mastodon.ml
0 likes, 0 repeats
@oreolek с одной стороны, да, xattrы существует, а с другой - есть ли бесплатный быстрый поиск по этим xattr'ам? Их придется индексировать в какую-то отдельную базу, и oh shit, here we go again@n0icz
(DIR) Post #B8pnYyo3a5u5RLN8E4 by volandevsrat@mastodon.ml
0 likes, 0 repeats
@drq 1) по итогу просто победит самая распространенная реализация. Да и к тому же, это реально не удобно, только если пользоваться сразу несколькими менеджерами.2) ну открывать просто по пути к симлинку. Ну или просто написать консольную утилиту. Ну и вообще, давайте не будем нагружать файловую систему лишними задачами. Не хватало ещё багов в функциях ФС :madeline_wee:@n0icz
(DIR) Post #B8pnkXOJKuL1t7qC8m by drq@mastodon.ml
0 likes, 0 repeats
@volandevsrat почему это, "лишними"? Функция ФС - организовывать дискретные фрагменты данных в человекопонятном виде. Теги - метод организации. В чем проблема. @n0icz
(DIR) Post #B8poKwU1WOyg8Qs7tY by volandevsrat@mastodon.ml
0 likes, 0 repeats
@drq Так ты назвал не функцию, а задачу :ablobcatbouncefast:А теги это уже отдельная функция. А как известно, чем больше функций, тем больше и ̶о̶т̶в̶е̶т̶с̶т̶в̶е̶н̶н̶о̶с̶т̶ь̶ потенциальных багов. Я не хочу потенциальных багов на уровне файловой системы. Уж лучше обойтись файловым менеджером и консольной утилитой :madeline_wee:@n0icz
(DIR) Post #B8poU4WP0LBhfiL1BQ by drq@mastodon.ml
0 likes, 0 repeats
@volandevsrat ну да, давайте вообще перестанем че-то новое изобретать, у нас же конец истории. @n0icz
(DIR) Post #B8poyYYBvFcjUZi8My by drq@mastodon.ml
0 likes, 0 repeats
@mittorn я в том, другом посте такое описал.Но, какбэ, если нет, ничего не мешает и изобрести. @pastecat @n0icz
(DIR) Post #B8pp0MxE0YCG6eHhwG by dside@mastodon.ml
0 likes, 0 repeats
@drq для нужд каталогизации тебе нужна т. н. "слабая ссылка" (weak reference), которая не сдерживает зачистку исходного ресурса. Такие можно встретить в языках с managed heap и GC, и самое ходовое их применение — кэши.В файловых системах симлинки к ним ближе всего. Но они могут вести вникуда. Их можно чистить автоматикой, но тогда получаем в её (автоматики) лице процесс, функционально неотличимый от индексатора, и ничего особенно не выиграли.Я предполагаю, что многочисленные системы на внешнем индексаторе не просто так остановились.@n0icz
(DIR) Post #B8ppEnLwefAa2Cj4aW by drq@mastodon.ml
0 likes, 0 repeats
@dside выкидывать недействительные ссылки при обращении к /tags?Выигрыш тут в том, что не нужно опрашивать каждый файл в системе, а только тегированные. Что многократно меньше. @n0icz
(DIR) Post #B8ppg4HTpDMQM2dstk by dside@mastodon.ml
0 likes, 0 repeats
@drq это здорово раздувает операцию чтения уже проверкой действительности ссылок, а к тому же и допускает в ней запись. Это *можно* сделать, но в этом легко очень деструктивно накосячить. А для такого фундаментального элемента для функционирования системы… такое вызывает скорее опасения, чем восторг.Но мы вроде в каком-то из прошлых тредов обсуждали, что можно ставить UX-эксперименты такого рода с FUSE. Тем более что каталогизировать таким образом файлы же наверняка нужно не по всей системе, а скорее в пределах домашней директории, и остальную инфраструктуру трогать необязательно.Правда, драйвер такой ФС будет… отдельным процессом. Опять.@n0icz
(DIR) Post #B8ppzO0Yhjej2TwHqa by drq@mastodon.ml
0 likes, 0 repeats
@dside так ФС и так способна на ходу опрашивать ссылки (например, в ls битые симлинки видно сразу), разве нет?Fuse да, но fuse - это тормоза... @n0icz
(DIR) Post #B8pqACvSFTGlqxiBY8 by dside@mastodon.ml
0 likes, 0 repeats
> так ФС и так способна на ходу допрашивать ссылки (например, в ls битые симлинки видно сразу), разве нет?@drq я подозреваю, что это делает ls/шелл, а не ФС. Но это не точно.Тормоза — смотря как напишешь. Ты в любом случае хочешь загрузить ФС дополнительной работой, так что быстрее оно быть не может. А если операции над этим деревом файлов производить планируется руками, там не такие высокие требования к скорости.@n0icz
(DIR) Post #B8prDygDFw9ambwaxc by mo@mastodon.ml
0 likes, 0 repeats
@drq если fuse система будет содержать только симлинки, то реальные файлы будут читаться с нормальной фс@dside @n0icz
(DIR) Post #B8prL2zrbW7mCOVTOq by drq@mastodon.ml
0 likes, 0 repeats
@oreolek пиздец. @n0icz
(DIR) Post #B8pseQZmGFVEmj6tIe by drq@mastodon.ml
0 likes, 0 repeats
@oreolek слушай, я в Юниксе уже лет 25, я знаю, что накостылить можно все что угодно.Я говорил, "бесплатный" в том плане, что он не требует больше ресурсов, чем просто обращение к файлу. Типа, zero-cost abstraction. @n0icz
(DIR) Post #B8pxLZkYQciBVPyshk by 3draven@mtdn.anyqn.com
0 likes, 0 repeats
@drq @n0icz это вроде файловые менеджеры умеют. Теги можно хранить в атрибутах файла и сейчас, наверное там и хранят.
(DIR) Post #B8q0QclqvKqGBYgfj6 by drq@mastodon.ml
0 likes, 0 repeats
@3draven ...Каждый по-своему и несовместимо друг с другом, что привязывает меня к конкретному файловому менеджеру, что меня нисколько не устраивает. @n0icz
(DIR) Post #B8q0bDqVvxws4GvAhs by 3draven@mtdn.anyqn.com
0 likes, 0 repeats
@drq @n0icz привязаться к конкретной фс судя по всему чем-то лучше. Если ехать, то уже решено, если шашечки, то тут дело вкуса.
(DIR) Post #B8q0qHJVK8VhAMezvU by drq@mastodon.ml
0 likes, 0 repeats
@3draven ФС меняются гораздо реже, чем инструменты работы с ними. @n0icz
(DIR) Post #B8q5CDq7JupsZydMIa by drq@mastodon.ml
0 likes, 0 repeats
@dside > А мне это кажется очень хрупкой идеей с учётом того, сколько всего другого в системе, не требующего этой фичи, уже держится на ФС.А как это мешает тому, что уже есть в системе? Никто ж не заставляет этой фичей пользоваться, но если надо - вот она есть. @mo @n0icz
(DIR) Post #B8qCeFbj2YH9qkDLvc by dside@mastodon.ml
0 likes, 0 repeats
@drq дело не в фиче, а в том, где она находится. Ты же её прямо в ФС предлагаешь затолкать. Если мы считаем фичу опасной, надо либо очень мощно вложиться в её тестирование, либо поднять её от фундамента повыше. Вот решение с FUSE — как раз последнее.@mo @n0icz
(DIR) Post #B8qIxWPROXirBe2aH2 by drq@mastodon.ml
0 likes, 0 repeats
@dside А я что предлагаю ее не тестировать, что-ли?Поднять от фундамента - в моем случае не работает, потому что поинт в том, чтобы такая абстракция была частью фундамента и не требовала ничего сверху, и на этом можно было строить уже пользовательский опыт в DEшках, например.А не просто очередная с-боку-реализация, которых, в общем-то и так полно, и которые все разные, и не везде есть.@mo @n0icz
(DIR) Post #B8qK7mLn54jxTemvZ2 by dside@mastodon.ml
0 likes, 0 repeats
> А я что предлагаю ее не тестировать, что-ли?@drq а я где-то говорил, что предлагаешь? Дело не в том, что это надо делать. А в том, что это надо не просто делать, а в *конских* объёмах. Такие объёмы оправдать получится только какими-то очень существенными выгодами.А для того, чтобы на этом можно было строить пользовательский опыт в DEшках, надо не спускать как можно ниже в абстракциях, а банально добиться популярности. Спуск на уровень ниже теоретически даст много установок, что может быть *последствием* популярности, но необязательно ей *предшествует* – т. е. кучей установок ты ещё не гарантируешь уровня популярности, могущего спровоцировать повальную интеграцию. Следствие в обратную сторону крч.Интеграция чего-то "сбоку" не обрекает на нишевость. Пример – иксы.@mo @n0icz
(DIR) Post #B8qLYjHYhFGtjaDv8q by drq@mastodon.ml
0 likes, 0 repeats
@dside Ну или нам нужен стандарт freedesktop для таких вещей, потому что разброд и шатание достали.Все еще непонятно, что делать, правда, если у тебя командная строка, но тегов все равно хочется.@mo @n0icz
(DIR) Post #B8qN6vJYZEZeqr1jGa by dside@mastodon.ml
0 likes, 0 repeats
@drq freedesktop звучит как более подходящий уровень, да. Хотя и им потребуется UX research, чтобы выдвигать стандарт, который сможет быть чем-то кроме документа. И прототип на FUSE, теоретически, поможет собрать вишлист, приближенный к боевому. Хотя это не единственный способ, конечно.Мне ещё понравился приём с атрибутами (xattr) в макоси, где можно хранить первичные данные, а строить из них представление уже в интерфейсных обёртках – где банальным внешним индексером, где FUSE'ом. Формат данных выглядел несколько всрато, но может у него есть не очевидные мне преимущества.@mo @n0icz
(DIR) Post #B8qWB1rv2XJxvP8GDg by aethiemurr@mastodon.ml
0 likes, 0 repeats
@drq Если принять во внимание, что фс больше чем одна, все становится несколько забавнее: сейчаc, как минимум на средней по больнице машине, раздел uefi находится под fat. Нередко что-то да живет на сетевых: smb, nfs. И если вспомнить, что еще и на флешках-дисках-смартах-плеерах может оказаться -- и с хардлинками, да и софтлинками становится несколько грустно.Получить еще одну прослойку: заманчиво конечно, но почему-то не очень хочется, при имеющихся внешних индексаторах или тех же xattr.Вспоминается про ntfs с ее потоками файла: насколько прикольная вещь хранить с основным файлом еще чего-то. оно даже прозрачно использовалось для метки внешнего файла или локального. Но с настолько неудобным и сакральным способом использования, что диву даешься. Либо удалили, либо собирались удалять в Win11 -- ну и ладно, пользователь не сильно заметил. Вопрос востребованности и, соответственно, поддержки всего этого. @dside @mo @n0icz