История изменений
Исправление Zmicier, (текущая версия) :
Да. С той лишь разницей, что при таком подходе каталоги — они и не папки вовсе, а именно метки (тэги).
Не очень понял, потому уточню. Я писал не про те каталоги, которые содержат ссылки (каталоги-теги), а про «обычные».
То есть вы хотите одновременно использовать и метки и вложенные папки? А не запутаетесь?
То есть не выйдет сделать одну и ту же метку вложенной в более чем одну. Но обратите внимание, что большинство реализаций меток вложений вообще не позволяет.
Ну, если хранить теги в ключах xattr, то не вижу никаких препятствий.
А можно поподробнее? xattr(7) — это записи типа поле — значение, привязанные к каждому отдельному файлу? Какое тут дерево?
Что дает повод задуматься — так уж ли [вложенные метки] нужн[ы].
Пока тоже не понятно, зачем это может понадобиться.
Справедливости ради, мне понадобилось. Я так храню личную фотовидеотеку, и там помимо меток по событиям и по персонажам есть еще даты и места. Даты вложены все (то есть, например, не 2015-12-31
, а 2016/12/31
), а места — некоторые (какая-нибудь Болгария/Варна
). Но ни то, ни другое естественным образом двояковложенным быть не могут, так что проблемы нет.
В смысле, что операция
cp ~/file /mnt/disk/
не создаст метку на новой файловой системе.
Обратите внимание, что такой приказ еще и дату изменения похерит. Поэтому его в любом случае использовать надо осторожно.
Для копирования всей (или существенной части) картотеки можно использовать:
$ rsync -aH ~/photos/ /media/Z320G/
Если же вы хотите, чтобы метки сохранялись у отдельного файла в отрыве от картотеки, то да, это не ваш выбор. Я же полагаю, что метки файлу, вырванному из архива, совершенно ни к чему.
А
mv ~/file /mnt/disk/
ещё и оставит содержимое файла на старой ФС.
Так это ж правильно.
Если вы захотите удалить файл уже после того, как назначили ему кучу меток, то, к сожалению, в отличие от NTFS, где в инодах хранятся обратные ссылки, в ext* остается только делать полный перебор:
$ find ~/photos/ -xdev -samefile IMG_20161107_104422.jpg -delete
Если все ссылки лежат в одной папке-теге, то не ясно, что делать с файлами, имеющими общее имя.
Вероятно то же, что вы делаете, когда вам надо положить одноименные файлы в один каталог-папку — переименовывать, что же еще.
Логично, что надо хранить ссылки в структуре каталогов, подобной той, в которой хранится «оригинальный» файл.
А что такое «оригинальный файл»? Все ссылки равноправны.
Исходная версия Zmicier, :
Да. С той лишь разницей, что при таком подходе каталоги — они и не папки вовсе, а именно метки (тэги).
Не очень понял, потому уточню. Я писал не про те каталоги, которые содержат ссылки (каталоги-теги), а про «обычные».
То есть вы хотите одновременно использовать и метки и вложенные папки? А не запутаетесь?
То есть не выйдет сделать одну и ту же метку вложенной в более чем одну. Но обратите внимание, что большинство реализаций меток вложений вообще не позволяет.
Ну, если хранить теги в ключах xattr, то не вижу никаких препятствий.
А можно поподробнее? xattr(7) — это записи типа поле — значение, привязанные к каждому отдельному файлу? Какое тут дерево?
Что дает повод задуматься — так уж ли [вложенные метки] нужн[ы].
Пока тоже не понятно, зачем это может понадобиться.
Справедливости ради, мне понадобилось. Я так храню личную фотовидеотеку, и там помимо меток по событиям и по персонажам есть еще даты и места. Даты вложены все (то есть, например, не 2015-12-31
, а 2016/12/31
), а места — некоторые (какая-нибудь Болгария/Варна
). Но ни то, ни другое естественным образом двояковложенным быть не могут, так что проблемы нет.
В смысле, что операция
cp ~/file /mnt/disk/
не создаст метку на новой файловой системе.
Обратите внимание, что такой приказ еще и дату изменения похерит. Поэтому его в любом случае использовать надо осторожно.
Для копирования всей (или существенной части) картотеки можно использовать:
$ rsync -aH ~/photos/ /media/Z320G/
Если же вы хотите, чтобы метки сохранялись у отдельного файла в отрыве от картотеки, то да, это не ваш выбор. Я же полагаю, что метки файлу, вырванному из архива, совершенно ни к чему.
А
mv ~/file /mnt/disk/
ещё и оставит содержимое файла на старой ФС.
Так это ж правильно.
Если вы хотите удалить файл, то, к сожалению, в отличие от NTFS, где в инодах хранятся обратные ссылки, в ext* остается только делать полный перебор:
$ find ~/photos/ -xdev -samefile IMG_20161107_104422.jpg -delete
Если все ссылки лежат в одной папке-теге, то не ясно, что делать с файлами, имеющими общее имя.
Вероятно то же, что вы делаете, когда вам надо положить одноименные файлы в один каталог-папку — переименовывать, что же еще.
Логично, что надо хранить ссылки в структуре каталогов, подобной той, в которой хранится «оригинальный» файл.
А что такое «оригинальный файл»? Все ссылки равноправны.