Я был под впечатлением отздесьсреди прочего исследования выяснилось, что rsync — это команда, используемая для синхронизации каталогов и всего их содержимого.
Я попробовал следующие команды:
rsync -avzr ~/testing123 ~/Desktop/apartment
sudo rsync -avzr ~/testing123 ~/Desktop/apartment
Ни один из них не сохраняет икону, оба приводят к одному и тому же результату:
sent 544 bytes received 92 bytes 1272.00 bytes/sec
total size is 6148 speedup is 9.67
building file list ... done
created directory /Users/null/Desktop/apartment
testing123/
testing123/.DS_Store
testing123/Icon\#015
testing123/info.txt
sent 566 bytes received 92 bytes 1316.00 bytes/sec
total size is 6166 speedup is 9.37
Они обе правильно синхронизируют файлы, но не сохраняют значок из исходного файла или каталога. Для каталогов, вместо сохранения значка в папке, обе команды создают файл размером '0 КБ' в целевом каталоге с именем 'Icon' без расширения. Для файлов это ничего не делает, никакого таинственного файла 'Icon' и никакого реального значка.
Может, я использую неправильные аргументы? В чем тут проблема? Почему rsync
на самом деле не создаются те же значки на конечных файлах, что и на исходных файлах?
решение1
Вам необходимо указать -E
опцию rsync
.
-E, --extended-attributes
Apple specific option to copy extended attributes, resource
forks, and ACLs. Requires at least Mac OS X 10.4 or suitably
patched rsync.
Значки хранятся в ветвях ресурсов HFS+.