Как я могу изменить / открыть файлы без изменения даты последнего изменения / открытия в Mac OS (или Linux)?

950
BobVicktor

Мой отец скончался в прошлом году, поэтому у меня есть коробки с десятками старых жестких дисков (все HFS +) с моими всеми его файлами и фотографиями. Я хочу скопировать все на один диск / RAID (также HFS +, возможно, APFS), а затем реорганизовать, выполнить дедупликацию и сделать резервную копию этого единственного массива, чтобы все файлы были в известном безопасном состоянии. Я хотел бы сделать все это, не меняя время «создания», «последнего изменения» или «последнего открытия» файла или папки. В частности, я хотел бы:

  1. Перемещение / удаление файлов / папок, не изменяя их объемлющего «Последнее изменение» времени папки
  2. Перемещение / переименование файлов / папок без изменения их собственного времени «последнего изменения»
  3. Открывать файлы (проверять и сравнивать их), не изменяя свое время «последнего открытия»
    • Finder в macOS имеет Quick Look, который позволяет мне просматривать файлы, не открывая их, но иногда полезно действительно открывать вещи, поэтому приветствуются другие идеи
    • монтировать диск в режиме «только для чтения» можно только при открытии файлов, но по-прежнему необходимо перемещать файлы после их открытия, поэтому мне придется перемонтировать их, сделав это неуклюжим решением

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

1
Если вы сделаете копию с раздела на раздел (или с диска на диск), все данные времени файла будут сохранены. Любая попытка доступа к файлу в отдельности обновит время доступа, хотя время изменения не будет затронуто: любые новые созданные каталоги будут иметь время изменения, когда последний файл был добавлен или удален, но исходные каталоги сохранятся. время их модификации. AFH 6 лет назад 0
Решение, которое приходит на ум, состоит в том, чтобы использовать `touch -r фактическую тень`, чтобы скопировать время доступа и изменения для" теневых "файлов в" теневом "дереве (а затем сделать это все R / O), а затем использовать` touch - r shadow actual`, чтобы восстановить их в случае необходимости. `touch -r` также работает с каталогами. Конечно, вам придется обрабатывать каталоги последними. xenoid 6 лет назад 0
Возможно, вы могли бы «заархивировать» файлы, а затем извлечь только те, которые вам нужны. Время изменения каталога должно быть установлено на исходное время, но у вас будут только те файлы, которые вы хотите. Вы должны извлечь все за один раз, поэтому вам нужно знать ВСЕ файлы, которые вы хотите, и кто-то вставил это в команду tar extract. Лично мне нравится рекомендация @ xnenoid `touch -r` ... jimtut 6 лет назад 0
@AFH Спасибо за комментарий. Я знаю, что время модификации останется таким же, что я не так беспокоюсь. Это то, что файл за файлом обновления времени доступа, которые хотят избежать. Я не хочу нарушать историю файлов и каталогов, поэтому они выглядят так, как будто они не изменились, за исключением того, что я хочу реорганизовать и удалить дубликаты. BobVicktor 6 лет назад 0
@ xeniod Hum ... Спасибо за идею, звучит многообещающе. Я должен попробовать это. Я знал, что есть способ сохранить и восстановить время, но по какой-то причине я не думал, что это будет так просто. Может пройти некоторое время, прежде чем я смогу выполнить некоторые тесты и посмотреть, сработает ли это для того, что я делаю, но я буду держать вас в курсе, как это происходит. Это может быть именно то, что я искал. ;) BobVicktor 6 лет назад 0
@jimtut Спасибо за эту идею. Идея touch -r о том, что xenoid имел, может быть именно тем, что я искал, чтобы поддерживать метки времени, пока я работаю над файлами, но как только у меня все будет «в камне», я думаю, что ваша идея поместить все в файл tar это хорошая идея для архивирования всего, что не может быть нарушено (в конце концов, a in tar означает архив). Доступ к файлам по отдельности позже не является большой проблемой. Спасибо! BobVicktor 6 лет назад 0
@BobVicktor - я не сказал об этом явно, но если вы сделаете копию раздела и смонтируете его, то вы можете скопировать любые файлы из копии, не затрагивая оригинальные метки времени. Если это важно, вы можете восстановить отметки времени копии, повторив копию раздела. AFH 6 лет назад 0
@AFH Ах, спасибо. Извините, я не понял, что вы имели в виду в первый раз. На самом деле это неплохая идея, и я, вероятно, когда-нибудь воспользуюсь ею, но в этом случае я не уверен, хочу ли я делать это для каждого диска, поскольку на самом деле есть коробки и коробки с ними ... Он использовал старые диски объемом 10 и 20 ГБ в качестве «резервных копий», но на самом деле его файлы разбросаны по всем из них, и я понятия не имею, что и где, поэтому я хочу объединить все файлы в один большой диск. Один из вариантов, о котором я думал, это создать копию образа диска и подключить образ диска только для чтения. BobVicktor 6 лет назад 0
На первый взгляд, как насчет раздела для каждого маленького диска, чтобы ваши большие диски по-прежнему отражали оригинальную структуру диска? GPT позволяет 128 разделов, и вы все равно можете подключить каждый раздел только для чтения, когда вы хотите получить к нему доступ. AFH 6 лет назад 0

0 ответов на вопрос