Что это за папки __MACOSX, которые я постоянно вижу в zip-файлах, созданных людьми на OSX? Некоторые занимают до 30% файла.
Какая программа создает папку __MACOSX и как пользователи Mac могут избежать этой ошибки?
zip -d filename.zip __MACOSX/\*
Что это за папки __MACOSX, которые я постоянно вижу в zip-файлах, созданных людьми на OSX? Некоторые занимают до 30% файла.
Какая программа создает папку __MACOSX и как пользователи Mac могут избежать этой ошибки?
zip -d filename.zip __MACOSX/\*
Ответы:
http://www.realsoftware.com/listarchives/gettingstarted/2005-09/msg00328.html
Apple предоставляет встроенную возможность ZIP-файлов в OS X 10.3 и выше, и эти файлы являются результатом безопасного хранения Resource Forks Apple. Вы никогда не увидите эти файлы под управлением OS X 10.3 или выше, но поскольку Windows и другие операционные системы не понимают эту особую форму Resource Forks, они будут отображаться так, как вы их видите.
unzip filename.zip
распакуете каталог __MACOSX /, который вам не нужен, но open filename.zip
сделает правильно.
Вот ссылка, которая объясняет это довольно хорошо. Полагаю, уже поздно помогать Яде, но для потомков.
Объяснение ресурсного форка в Википедии
Остальное мое мнение
@nickf: Никогда не видеть эти файлы - не ОСОБЕННОСТЬ тех версий OS X, это FLAW. Люди создают данные, оборачивают их, хранят на разных носителях и так далее. Им нужно знать, что нужно или что не нужно. Сокрытие это держит их в темноте.
Вечная плохая идея скрывать вещи от пользователей: программист, обеспокоенный целесообразностью выполнения своей работы, злоупотребляет чем-то в области конечного пользователя, чтобы облегчить себе это дело.
В этом случае он хранит метаданные в пространстве данных пользователя, а затем скрывает их от пользователя. Он пропустил общую картину: пользователь не узнает о скрытых деталях. Когда он упаковывает свои данные и отправляет их куда-то неожиданно для программиста, недостающие части не будут отправлены или появятся неизвестные части, которые ни пользователь, ни получатель не смогут объяснить.
Скрывать вещи от пользователя плохо. Предполагается, что пользователь глуп, когда более точно программист глуп или ленив.
Чтобы было ясно, эта вредная привычка не ограничивается MAC. Это везде. Это является следствием того, что программисты влюбляются в свои собственные схемы, а поставщики ставят приоритеты в своих целях перед потребностями конечного пользователя.
Вкратце.
__MACOSX:
странно пахнущий помет программиста, появляющийся из-под коврика, где их заметили.
Программисты и поставщики: пожалуйста, держите все под открытым небом. Когда вы их скрываете, вы становитесь глупыми, а пользователь не информированным.
Чтобы ответить на ваш последний вопрос:
как пользователи Mac могут избежать этой ошибки?
Пользователи Mac OS X могут установить стороннюю утилиту архивирования, такую как Keka , затем запретить использование Resource Forks, а затем установить ее в качестве компрессора по умолчанию.
zip -d
удалит ветки ресурсов из zip-файла. На самом деле, я думаю, что если вы используете zip в первую очередь, ресурсные вилки не добавляются в первую очередь.