Как мне согласовать файлы с точками и подчеркиванием после резервного копирования вручную?

Недавно мне пришлось (поспешно) сделать резервную копию данных на старом Macbook, прежде чем перенести его на новый. Поскольку в моем распоряжении был только большой диск, отформатированный в FAT32, я использовал его и ручную копию. С тех пор я rsyncвозвращал его на (не журналируемый) диск HFS + (под Ubuntu).

Теперь у большинства файлов есть соответствующий ._файл рядом с ними. Я понимаю, что именно так OS X хранит расширенные атрибуты и другую информацию о файловых системах, отличных от HFS+. Итак, мой вопрос: теперь, когда у меня есть эти файлы обратно в файловой системе HFS+, как я могу согласовать информацию в ._файлах? То есть, поскольку данные в этих файлах теперь могут храниться в метаданных HFS+ для каждого файла, как мне вернуть их обратно?

Ответы (2)

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

Кажется разумным. Я попробую это в ближайшее время.
"... из типа раздела, который не поддерживает расширенные метаданные..."; файлы ._ уже есть в HFS Plus.
@Graham Да, но скопировано с помощью rsync, который не объединяет файлы точек. Я имел в виду копирование их из исходного раздела FAT32 в HFS+ с помощью Finder.
Не только Искатель. Утилиты, такие как ditto(1) , будут сохранять ветки ресурсов, метаданные HFS, расширенные атрибуты и ACL.

dot_clean

dot_clean(1) Страница руководства Mac OS X

Описание Apple:

For each dir, dot_clean recursively merges all ._* files with their corresponding native files according to the rules specified with the given arguments. By default, if there is an attribute on the native file that is also present in the ._ file, the most recent attribute will be used.

If no operands are given, a usage message is output. If more than one directory is given, directories are merged in the order in which they are specified.

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

Я всегда думал, что dot_clean просто очищает точечные файлы, а не объединяет их; это путь, +1
Когда я в последний раз проверял, давным-давно, не было проверки возможностей файловой системы. Так, например, применение dot_cleanкоманды к любой части тома MS-DOS FAT32 автоматически потеряет (не сможет объединить) содержимое ._файлов в этой части тома. Квадратный колышек, круглое отверстие ;)