LINUX.ORG.RU

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

У него в избранных есть тег хайку, в чём смысл кастовать?

fernandos ★★★
()

всегда оставались с ним … Как в BeOS/Haiku

и чё, останутся если скопировать на (ex)fat?

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

Вот да, хотелка зависит от ФС, а не от ОС. Ну, тут только делать какой-либо архив-образ ФС с этим файлом и его атрибутами… И пользоваться этим на мой взгляд неудобно, но возможность такая имеется.

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

Так проблема в том, что если просто скопировать файл в другое место, атрибуты пропадают.

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

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

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

В Гайке, конечно, это сделано прекрасно. Очень полезная фича.

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

Можно ли в Линуксе сделать так, чтобы расширенные атрибуты файла всегда оставались с ним

Зависит от того в какой программе производятся манипуляции. Подозреваю, что универсального решения не существует. С какой программой проблема?

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

Произвольные. Из последнего - куча файлов с наборами данных эксперимента (или картинки с графиками). В атрибутах можно хранить параметры эксперимента.

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

Да собственно, ни одна программа по-умолчанию не работает с атрибутами. Только вручную переносить.

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

-a не сохраняет, надо --preserve=xattr

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

Но это половинчатое решение. Где нибудь файл будет скопирован без этих флагов, или в файловом менеджере (легион их), и всё, никто даже не предупредит.

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

Но это половинчатое решение.

Полным решением будет патчить весь софт, где есть копирование. К сожалению в Линуксе в разных программах копирование часто реализовано своими велосипедами.

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

15 лет пилили :) Ну хоть так, и то хорошо.

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

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

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

В атрибутах можно хранить параметры эксперимента.

Плохая идея.

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

Может нецелевое, но удобное. В Гайке в атрибутах хранятся, например, иконки. Можно и в формат файла, но тогда это для каждого типа свой костыль.

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

Не сталкивался с «гайкой», но возможно те «атрибуты» это совсем не то же самое что атрибуты в обычных системах, да и вообще может там совсем другая идеология работы фс.

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

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

Те самые, обычные расширенные атрибуты. Просто они были изначально в дизайне системы (и ФС), и их именно так планировали использовать.

А в Линуксе для чего они нужны? Система же там ничего не хранит.

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

ИМХО чтобы юзать расширенные атрибуты bfs, нужно чтобы ОС /линь, вынь и тп/ умела читать и писать их на bfs разделе. Если мне нужно сохранить расш атрибуты файла НЕ на bfs , то приходится заворачивать файл в zip и переносить на НЕ bfs Смысл действия в том, что можно вернуть зип на bfs раздел и пользоваться расш атрибутами файла сохраненными в зипе.

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

Не, мне ext4 достаточно. В остальном да, так и есть.

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

В Линуксе и Windows атрибуты тоже есть, называются xattr и alternative data streams соответственно. Правда активно они используются только в BeOS/Haiku. Индексы атрибутов тоже видел только в BeOS/Haiku.

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

Причём тут копирование?

И ACL и SELinux это по сути управление правами доступа к файлу - именно к файлу, а не к данным в нём. Если ты эти данные скопировал в другое место, то права доступа к этому новому месту могут быть какими угодно.

Утилита cp по дефолту даже владельца старого файла в новый не переносит (и, вобщем-то, если копирует не root, то и не может перенести). Да, ты можешь захотеть скопировать не только данные, но и все метаданные, но это надо явно указать (ключами к cp, дополнительным кодом помимо open/open/read/write/close/close если копируешь в своей программе), а не считать это операцией по умолчанию.

Вот tar предназначен для работы с файлом целиком (а не только с его данными), он скорее всего все эти атрибуты по умолчанию скопирует (tar -c -f - | tar -x -f - -C newpath). Но это особенность программы, а никак не файловой системы.

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

И ACL и SELinux это по сути управление правами доступа к файлу - именно к файлу, а не к данным в нём.

Windows умеет копировать ACL и атрибуты вместе с файлом. Только с Линуксом проблемы.

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

Не пиши ерунду.

Во-первых, умеет не «Windows», а виндовая утилита копирования файлов. Линуксовая - тоже умеет. Проблемы - у тех, кто не разобрался как грамотно пользоваться инструментом.

Если какая-то программа копирует файлы самостоятельно через open/read/write/close - она ни на какой ОС атрибуты не скопирует.

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

Линуксовая - тоже умеет.

Далеко не все ФМ и утилиты в Линуксе это умеют. А в Windows и Haiku копирование и сохранение атрибутов обычно везде работает.

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

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

Вот пример: открываешь txt файл в текстовом редакторе, делаешь save as с новым именем. Это копирование или нет? Какой текстовый редактор сохранит при этом атрибуты? Зависит ли это от ОС? А если перед save as файл изменить - повлияет ли это на сохранение атрибутов? А надо ли их вообще сохранять в таком случае?

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

Ну вот например exif в картинках вполне мог бы храниться в расширенных атрибутах. Те же метаданные. Такие же метаданные можно было бы прицепить к любому другому типу файла и так же обрабатывать, как обрабатывается exif. Разве неудобно?

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

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

anonymous
()

Ты немного путаешь системные атрибуты фс и прикладные атрибуты файла - если тебе надо данные эксперимента пихнуть в атрибуты картинки, то погугли про exif - это как раз то что тебе нужно, а именно набор прикладных атрибутов для картинок (jpeg как минимум).
Они будут с твоим файлом всегда и везде, как бы ты его не копировал пока ты не пересохранишь его в софтине, которая не умеет в собсно exif (ну или не поставишь галку его обнулить).
Для других форматов файлов - другие костыли.

А системные атрибуты немного не про это, но в целом на фс в виде дб (apfs и вот это вот все), технически есть возможность пихать произвольные атрибуты к произвольным файлам, но только в пределах фс, при копировании на условный фат все пойдёт по пинде

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

Ну вот например exif в картинках вполне мог бы храниться в расширенных атрибутах. Те же метаданные. Такие же метаданные можно было бы прицепить к любому другому типу файла и так же обрабатывать, как обрабатывается exif. Разве неудобно?

А пле, ты уже в курсе про него ))).
Нет, в рамках обычной фс поддержка произвольных атрибутов - большое излишество, особенно учитывая что сегодня ты хочешь строчки а завтра захочешь превьюшки графики в фс хранить, или 3д плеер для модельки атрибутом сунуть.
Для этого придуманы бдфс но пока взлетело только у эппла и то я не смотрел насколько оно сильно отклонилось от концепта «фс=бд», в винде обещали хз сколько лет назад но на десктопах так и не приехало.

Есть альтернативный костыль - храни Файлы в сервисе, который поддерживает атрибуты :-) даже в топорной 1с к файлу можешь хоть всю клипографию газманова в атрибуты пихнуть :-)

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

Может нецелевое, но удобное.

Ага, по этой теме видно, какое оно удобное.

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

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

Посмотри, как это реализовано в BeOS (больше двадцати лет назад, между прочим). Это на самом деле удобно, и совсем не излишество.

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

может тебе и все остальные структуры файла в фс вынести?

Почему бы и нет? Можно например конфиги чисто через xattr делать. В Haiku так сделано для конфигов файловых ассоциаций, размер всех конфигов – 0 байт.

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

размер всех конфигов – 0 байт

это так не работает

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

размер всех конфигов – 0 байт

я конечно понимаю, что адепты хрюйку не обладатели самого высокого iq, но это уже идёт на рекорд…

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

Посмотри, как это реализовано в BeOS

пользовал её пару месяцев во времена её актуальности, но даже не знал что у неё это есть :-)

Это на самом деле удобно, и совсем не излишество.

ну вот нафига мне атрибуты для 99% файлов на диске (системных, библиотек, софта и т.п.)? мне атрибуты нужны только для документов, но если для картинок мне нужны одни атрибуты, 99% из которых пишет камера, то для текстовых документов, мне нужны совершенно другие атрибуты, 99% из которых пишет текстовый редактор
остаётся 1% из 1% атрибутов, притом этот процент не предсказуем и не систематизируется между пользователями
в реальности, это проще всего разруливается именно БДшкой, где ты можешь нагенерить себе таблиц атрибутов, заранее определенных свойств (агада, чтоб один и тот-же атрибут разные олёшки не маркировали по разному), произвольных свойств, раскидать их по нужде и потом отдельно по ним бегать/искать. И человечество давно пришло к двум путям:

  • фс в виде бд (но не взлетает)
  • хранить файлы в/около бд с подвязкой к ней

внезапно (с) второй вариант это удобно и работает, не зависит от фс, допом даёт возможность шарить документы и атрибуты, притом не только те, которые есть в конкретном файле а и любой набор из имеющихся, и еще туеву кучу плюсов

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

Бессмысленный набор слов по определению не имеет смысла. Остынь, попей чайку.

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

Ничего не нужно систематизировать, и тем более делать какие-то схемы данных и пр. Атрибуты - это произвольные данные, кому надо, тот поймёт. Вообще, в BeOS изначально делали ФС БД, и атрибуты переехали оттуда.

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