Вопрос: Что такое папка __MACOSX?


Каковы эти папки __MACOSX, которые я вижу в zip-файлах, сделанных людьми на OSX? Некоторые принимают до 30% файла.

Какая программа создает эту папку __MACOSX и как пользователи Mac могут избежать этой ошибки?


133
2018-02-03 22:37


Источник


Они очень раздражающие, да, и обычно бессмысленны, поскольку ресурсные вилки настолько часто пустые. Но, по крайней мере, они безвредны, в отличие от нестандартного подхода Apple взяла до 4 ГБ архивных размеров со встроенным файлом OS X, который смутит любой другой инструмент и снова сломается для достаточно больших файлов. И, может быть, это может быть хуже, это может быть сохранение двух копий каждого файла с тем же именем, один для данных и один для ресурса fork, что часто делает невозможным доступ к ним, например, к pre-OSX Mac. О, Apple, почему вы ненавидите стандартные форматы файлов? - bobince
@bobince: на самом деле, ресурсные вилки были очень хорошей идеей ... в то время. В наши дни такой же эффект достигается за счет хранения ресурсов в виде отдельных файлов, большинство из которых очень похожи на стандартные форматы файлов.
Ничего плохого в метаданных как таковых, просто у Apple есть такая способность создавать свои собственные форматы и испортить существующие форматы с безвозвратно несовместимыми расширениями! Наличие данных типа контента в качестве метаданных само по себе является большой вещью, и меня огорчает то, что OS X движется к Windows-взлому расширений файлов в качестве альтернативы. Хотя это не так плохо, как в Linux, где файловая система поддерживает хранение метаданных Content-Type, но не использует ее настольные компьютеры, предпочитая тщательно разбитую смесь файлов-расширений / именных шаблонов и контент-нюхание (urgh!). Вздох, ОС, а? - bobince
@bobince: Но да, по крайней мере, формат, который они составляли для это не делает никакого реального вреда, кроме как слегка загромождает списки каталогов и тратит в основном 1 inode и 1 блок на пустую извлеченную вилку ресурсов, если вы не используете что-то вроде NTFS (которое будет хранить содержимое файла в MFT для таких небольших файлов), в в этом случае он просто уничтожает «inode» (запись MFT). - SamB
Может быть исправлено после факта zip -d filename.zip __MACOSX/\* - Chris Johnson


Ответы:


http://www.realsoftware.com/listarchives/gettingstarted/2005-09/msg00328.html

Apple предоставляет встроенные возможности для ZIP-файлов в OS X 10.3 и выше, и эти файлы являются результатом безопасного хранения Apple Forks. Вы никогда не увидите эти файлы под управлением OS X 10.3 или выше, но поскольку Windows и другие операционные системы не понимают эту специальную форму Resource Forks, они появятся, как вы их видите.


54
2018-02-03 22:39



Речь идет не только о ресурсах, но и ничего, кроме основного содержимого файла, попадает в файл AppleDouble. Apple отходит от вилок ресурсов, но в отношении таких вещей, как расширенные атрибуты, которые также будут храниться в контейнере AppleDouble. - Gordon Davisson
Вы заставляете его звучать как функция. .zip-файлы намеренно отсутствуют в отделе метаданных. Если вам нужны метаданные, используйте другой формат, а не Mac. Пример правильной реализации zip + metadata: .jar - Zenexer
dead link, уточните пожалуйста. - think123
«поскольку Windows и другие операционные системы не понимают» - Ugh. Я просто ненавижу такую ​​терминологию - Joe Plante
Только что обнаружено: если вы находитесь на Mac, используя командную строку, unzip filename.zip распакует каталог __MACOSX /, который вам не нужен, но open filename.zip будет поступать правильно. - Edward Falk


Вот ссылка, которая объясняет это довольно хорошо. Полагаю, немного поздно помочь Яде, но для потомков.

Объяснение ресурса fork в Википедии

Остальное - мое мнение:

@nickf: Никогда не видеть эти файлы, не является ОСОБЕННОСТЬ этих версий OS X, это FLAW. Люди производят данные, завершают их, хранят на разных носителях и т. Д. Им нужно знать, что нужно или что не нужно. Скрытие его держит их в темноте.

Возрастная плохая идея скрывать от пользователей: Программист, заинтересованный в целесообразности выполнения собственной работы, злоупотребляет чем-то в домене конечного пользователя, чтобы облегчить для себя.

В этом случае он хранил метаданные в пространстве данных пользователя, затем скрывал его от пользователя. Он пропустил большую картину: пользователь не узнает о скрытых деталях. Когда он упаковывает свои данные и отправляет их где-то непредвиденным программистом, недостающие части не будут отправлены или неизвестные детали прибудут, и ни пользователь и получатель могут объяснить.

Скрытие вещей от пользователя плохое. Предполагается, что пользователь глуп, когда более точно программист глуп, или ленив.

Чтобы быть ясным, эта дурная привычка не ограничивается MAC. Это везде. Это следствие того, что программисты влюбляются в свои собственные схемы и поставщики, уделяя приоритетное внимание их собственным целям перед потребностями конечного пользователя.

Вкратце.

__MAC OS X:
странные пахнущие программные пометки, выходящие из-под ковра, где они были охвачены.

Программисты и продавцы: Пожалуйста, держите вещи в открытом доступе. Когда вы их скрываете, вы становитесь глупыми, а пользователь неинформирован.


96
2017-12-03 01:31



Этот ответ был бы лучше, если бы это был просто ответ. Расширенное разглагольствование о глупых программистах и ​​ленивых пользователях отвлекает от этого. - Kristopher Johnson
@pbernatchez На самом деле, если вы остановились, чтобы узнать, как выглядели вещи и как они эволюционировали, возможно, вы не оставите здесь свой собственный рационалистический, надменный «помет». Вики ресурсов были (действительно хорошими!) Деталями реализации до Mac OS X, и пользователи только находили их при взаимодействии с другими системами; с 90-х годов Apple все чаще переезжает в мир без вилки ресурсов, но все еще склоняется назад, чтобы поддерживать совместимость. «Сохранить метаданные в пользовательском пространстве данных»? WTF? Насколько вы должны определить «метаданные» и «пространство данных пользователя», чтобы сказать это? Вы должны ненавидеть файловые системы! - hmijail
«Скрытие вещей от пользователя плохое». Человек, вы также должны ненавидеть все типы пользовательских интерфейсов, библиотеки и абстракции, и ... ну, любые виды программирования и компьютеров, более продвинутые, чем счеты. - hmijail
Это не отвечает на вопрос. Прочитав этот ответ, я до сих пор не знаю, какие метаданные содержатся в папке _MACOSX или какие вилки ресурсов. Думаю, люди этим занимаются только потому, что согласны с разглагольством? - Atte Juvonen
Вот еще одна ссылка, которая, как мне кажется, объясняет, xahlee.info/UnixResource_dir/macosx.html - GDP2


Чтобы ответить на ваш последний вопрос:

как пользователи Mac могут избежать этой ошибки?

Пользователи Mac OS X могут установить стороннюю программу архивирования, такую ​​как Keka, тогда скажите ему, чтобы не использовать Resource Forks, а затем установите его как компрессор по умолчанию.


Как это сделать с Keka

Скажите Keka, чтобы не использовать Resource Forks

  1. Открыть Keka без файла (из Launchpad, Spotlight и т. д.)
  2. Нажмите ⌘ Cmd+, в открыть Настройки
  3. Выберите компрессия табуляция
    Keka "Compression" tab, selected
  4. Проверьте «Исключить вилки ресурсов Mac OS X (например: .DS_Store)» 
    A checkbox reading "Exclude Mac OS X resource forks (ex: .DS_Store)"

Сделайте Keka стандартным компрессором

  1. В то же самое Настройки Keka окно
  2. Выберите Генеральная табуляция
    Keka "General" tab, selected
  3. Нажмите «Установить Keka как компрессор / компресс компрессора по умолчанию» [sic]
    enter image description here

11
2017-11-05 15:03



Это могло бы улучшить мое добавление некоторой информации о последних двух шагах, «скажите, чтобы не использовать Resource Forks, а затем установите его как компрессор по умолчанию». - Steven C. Howell
@ stvn66 Сделано! Просто FYI, тем не менее, обычно выходит за рамки этих вопросов, поэтому я и не поначалу. - Ben Leggiero
Дайвинг, извините. Я не поклонник установки стороннего программного обеспечения для устранения проблемы, которая может быть исправлена ​​с помощью программного обеспечения по умолчанию. Как отметил Крис Джонсон выше, zip -d удалит вилки ресурсов из zip-файла. На самом деле, я думаю, что если вы используете zip в первую очередь, вилки ресурсов не добавляются в первую очередь. - Edward Falk
@EdwardFalk Это справедливо! Этот ответ должен был решить «Как мне заставить его всегда вести себя таким образом?» проблема, а не «Как мне заставить это вести себя так?» один. - Ben Leggiero