Что это за папки __MACOSX, которые я постоянно вижу в zip-файлах, созданных людьми на OSX? Некоторые занимают до 30% файла.
Какая программа создает эту папку __MACOSX и как пользователи Mac могут избежать этой ошибки?
Что это за папки __MACOSX, которые я постоянно вижу в zip-файлах, созданных людьми на OSX? Некоторые занимают до 30% файла.
Какая программа создает эту папку __MACOSX и как пользователи Mac могут избежать этой ошибки?
Вот ссылка, которая объясняет это довольно хорошо. Полагаю, уже поздно помогать Яде, но для потомков.
Объяснение ресурсного форка в Википедии
Остальное мое мнение
@nickf: Никогда не видеть эти файлы - не ОСОБЕННОСТЬ тех версий OS X, это FLAW. Люди производят данные, упаковывают их, хранят на разных носителях и так далее. Им нужно знать, что нужно или что не нужно. Сокрытие это держит их в темноте.
Вечная плохая идея скрывать вещи от пользователей: программист, обеспокоенный целесообразностью выполнения своей работы, злоупотребляет чем-то в области конечного пользователя, чтобы облегчить себе задачу.
В этом случае он хранит метаданные в пространстве данных пользователя, а затем скрывает их от пользователя. Он пропустил общую картину: пользователь не узнает о скрытых деталях. Когда он упаковывает свои данные и отправляет их куда-то неожиданно для программиста, недостающие части не будут отправлены или появятся неизвестные части, которые ни пользователь, ни получатель не смогут объяснить.
Скрывать вещи от пользователя плохо. Предполагается, что пользователь глуп, когда более точно программист глуп или ленив.
Чтобы было ясно, эта вредная привычка не ограничивается MAC. Это везде. Это является следствием того, что программисты влюбляются в свои собственные схемы, а поставщики ставят приоритеты перед собственными целями перед потребностями конечного пользователя.
Вкратце.
__MACOSX:
странно пахнущий помет программиста, появляющийся из-под коврика, где их заметили.
Программисты и поставщики: пожалуйста, держите все под открытым небом. Когда вы их скрываете, вы становитесь глупыми, а пользователь не информированным.
Этот ответ был бы лучше, если бы это был просто ответ. Из-за этого отвлекается расширенная болтовня о тупых программистах и ленивых пользователях.
@pbernatchez На самом деле, если вы остановились, чтобы узнать о том, как все выглядит и как они развивались, возможно, вы бы не оставили здесь свою собственную бессмысленную, высокомерную «помет». Ресурсные вилки были (очень приятно!) Деталями реализации до Mac OS X, и пользователи находили их только при взаимодействии с другими системами; Начиная с 90-х годов Apple все чаще перемещается в мир без разветвлений ресурсов, но все еще отклоняется назад, чтобы сохранить совместимость. «Хранить метаданные в пространстве данных пользователя»? WTF? Насколько круто вы должны определить «метаданные» и «пространство данных пользователя», чтобы сказать это? Вы должны ненавидеть файловые системы!
«Скрывать вещи от пользователя - плохо». Чувак, ты также должен ненавидеть все виды пользовательских интерфейсов, библиотек, абстракций и ... ну, любой вид программирования и компьютеров, более продвинутых, чем счеты.
Это не отвечает на вопрос. После прочтения этого ответа я до сих пор не представляю, какие метаданные содержатся в папке _MACOSX или что такое ветки ресурсов. Я полагаю, что люди голосуют за это только потому, что они согласны с разглагольствованием?
Вот еще одна ссылка, которая, как мне кажется, довольно хорошо объясняет использование ресурсов: http://xahlee.info/UnixResource_dir/macosx.html
Хотя я согласен с тем, что эмоционально заряженный тонус бесполезен, я также абсолютно согласен с тем, что создание скрытых вещей, которые иногда необходимы, является действительно плохой идеей, в точности как указано в этом ответе: пользователи либо (а) не будут отправлять скрытые файлы, которые или (b) отправлять скрытые файлы, которые получатель может видеть и не понимать. Эти файлы должны быть либо видны, либо данные должны быть встроены в файлы каким-либо образом, который помечен как «пропускаемый» другими ОС. Скрытые файлы и каталоги должны использоваться в первую очередь для ** защиты ** пользователей, а не для их сохранения в темноте.
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, они будут отображаться так, как вы их видите.
Это не просто разветвление ресурсов, в файл AppleDouble помещается что-то помимо базового содержимого файла. Apple отходит от ресурсов, но к таким вещам, как расширенные атрибуты, которые также будут храниться в контейнере AppleDouble.
Вы делаете это звучит как особенность. .zip файлы намеренно отсутствуют в отделе метаданных. Если вам нужны метаданные, используйте другой формат, а не Mac. Пример правильной реализации zip + метаданных: .jar
битая ссылка, пожалуйста, исправьте.
«Так как Windows и другие операционные системы не понимают», - тьфу. Я просто ненавижу такую терминологию
Только что обнаружил: если вы на Mac, используя командную строку, unzip filename.zip распакует каталог __MACOSX /, который вам не нужен, но open filename.zip сделает правильную вещь.
Пустое, бессмысленное объяснение. Так же, как все яблоко. Wtf это ветвь ресурса? о, это мусор Попался!
Чтобы ответить на ваш последний вопрос:
как пользователи Mac могут избежать этой ошибки?
Пользователи Mac OS X могут установить стороннюю утилиту архивирования, такую как Keka, затем запретить использование Resource Forks, а затем установить ее в качестве компрессора по умолчанию.


Это можно улучшить, добавив некоторую информацию о последних 2 шагах: «Скажите, чтобы она не использовала Resource Forks, а затем установите ее в качестве компрессора по умолчанию».
@ stvn66 Готово! Только к вашему сведению, однако, как правило, это выходит за рамки этих вопросов, именно поэтому я не сделал сначала.
Извините, извините. Я не фанат установки стороннего программного обеспечения, чтобы решить проблему, которая может быть исправлена с помощью программного обеспечения по умолчанию. Как указывал Крис Джонсон выше, zip -d удалит ветки ресурсов из zipfile. На самом деле, я думаю, что если вы используете zip в первую очередь, ресурсные вилки не будут добавлены в первую очередь.
@EdwardFalk Это честно! Этот ответ предназначался для решения вопроса «Как заставить его всегда так себя вести?» проблема, а не "Как заставить его так себя вести?" один.
Ctrl+K или / — быстрый поиск Начните вводить запрос для поиска по сайту
Да, они супер-раздражающие и, как правило, бессмысленные, так как вилки ресурсов так часто пусты. Но, по крайней мере, они безвредны, в отличие от нестандартного подхода Apple к использованию> 4 ГБ размеров архивов с помощью встроенного в OS X материала, который запутает любой другой инструмент и снова сломается для достаточно больших файлов. И, может быть, это может быть и хуже, он может хранить две копии каждого файла с одним и тем же именем, одну для данных и одну для ветки ресурсов, что часто делает невозможным доступ к любому из них, как это было в Mac OS до OSX. О, Apple, почему ты ненавидишь стандартные форматы файлов?