Що таке папка __MACOSX?


151

Які ці папки __MACOSX я постійно бачу у поштових файлах, створених людьми на OSX? Деякі займають аж 30% файлу.

Яка програма виробляє ці папки __MACOSX і як користувачі mac можуть уникнути цієї помилки?


8
Вони надто дратівливі, так, і зазвичай безглуздо, оскільки вилки ресурсів так часто порожні. Але принаймні вони нешкідливі, на відміну від нестандартного підходу Apple взяла до розміру архіву 4 Гб із вбудованим файлом OS X, що заплутає будь-який інший інструмент і знову вийде на досить великі файли. І ось, що може бути гірше, це може зберігати дві копії кожного файлу з однаковим іменем, одну для даних та одну для вилки ресурсу, що часто робить неможливим доступ до будь-якого, як раніше, ніж Mac OS-OSX. О, Apple, чому ви ненавидите стандартні формати файлів?
bobince

3
@bobince: насправді вилки для ресурсів були дуже хорошою ідеєю ... у той час. Цього дня такий же ефект досягається, зберігаючи ресурси, як окремі файли, більшість з яких майже схожі на стандартні формати файлів.

16
Нічого поганого з метаданими як такими, це просто те, що Apple має такий хист складання власних форматів і плутати існуючі формати з безоплатно несумісними розширеннями! Заява даних про тип вмісту як метаданих сама по собі є чудовою справою, і мене засмучує, що OS X рухається у бік Windows-розширення розширень файлів як альтернативи. Хоча це не так вже й погано, як в Linux, де файлова система підтримує збереження метаданих Content-Type, але жоден настільний ПК не використовує їх, віддаючи перевагу ретельно розбитій суміші розширення файлів / імен-шаблонів та нюхання вмісту (urgh!). Зітхніть, ОС-а?
bobince

@bobince: Але так, принаймні формат, який вони склали для цього, не приносить ніякої реальної шкоди, окрім злегка захаращених списків каталогів, а також витрачає по суті на 1 inode та 1 блок на видобутий порожній ресурс вилки, якщо ви не використовуєте щось на зразок NTFS (який буде зберігати вміст файлу в MFT для таких невеликих файлів), і в цьому випадку він просто марнує "inode" (запис MFT).
СамБ

9
Можна зафіксувати факт після цьогоzip -d filename.zip __MACOSX/\*
Кріс Джонсон

Відповіді:


52

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

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


4
Це не лише вилки ресурсів, все, що перевищує основний вміст файлу, поміщається у файл AppleDouble. Apple віддаляється від ресурсів вил, але до таких речей, як розширені атрибути, які також зберігатимуться в контейнері AppleDouble.
Гордон Девіссон

14
Ви робите це звуком як функція. .zip файлів навмисно бракує у відділі метаданих. Якщо ви хочете метадані, використовуйте інший формат, а не Mac. Приклад належної реалізації zip + метаданих: .jar
Zenexer

16
мертве посилання, виправте.
Лукас - Краща академія кодування

71
"оскільки Windows та інші операційні системи не розуміють" - Ugh. Я просто ненавиджу подібну термінологію
Джо Плант

5
Щойно виявлено: якщо ви працюєте на Mac, за допомогою командного рядка unzip filename.zipвипакуйте каталог __MACOSX /, який ви не хочете, але open filename.zipзробите правильно.
Едвард Фолк

107

Ось посилання, яке це досить добре пояснює. Я вважаю, що допомогти Яді трохи пізно, але для нащадків.

Пояснення вилки ресурсу у Вікіпедії

Решта - моя думка:

@nickf: Ніколи не бачити ці файли не ОСОБЛИВОСТІ цих версій OS X, це ПОМИЛО. Люди виробляють дані, загортають їх, зберігають на різних носіях тощо. Вони повинні знати, що потрібно чи що не потрібно. Приховуючи це, вони зберігають їх у темряві.

Вікова погана ідея приховувати речі від користувачів: Програміст, стурбований доцільністю власної роботи, зловживає чимось у домені кінцевого користувача, щоб полегшити себе.

У цьому випадку він зберігав метадані в просторі даних користувача, потім приховував їх від користувача. Він пропустив велику картину: Користувач не дізнається про приховані деталі. Коли він упакує свої дані і доставить їх кудись не передбачено програмістом, відсутні деталі не будуть доставлені, або не надійдуть невідомі частини, які ні користувач, ні одержувач не можуть пояснити.

Приховувати речі від користувача погано. Він припускає, що користувач дурний, коли точніше, що програміст дурний або ледачий.

Щоб було зрозуміло, ця шкідлива звичка не обмежується лише MAC. Він є скрізь. Це наслідок закохування програмістів у власні схеми та постачальників, що надають пріоритет власним цілям перед потребами кінцевого споживача.

Коротко.

__MACOSX:
дивні пахучі програмістські випади, що випливають з-під килима, куди їх змітали.

Програмісти та постачальники: Будь ласка, тримайте речі на відкритому повітрі. Приховуючи їх, ви робите себе дурними, а користувач - неінформованим.


12
Ця відповідь була б краще, якби це була лише відповідь. Розширений рейтинг про дурних програмістів і ледачих користувачів це зменшує.
Крістофер Джонсон

1
@pbernatchez Насправді, якби ви зупинилися, щоб дізнатися про те, як виглядали речі і як вони розвивалися, напевно, ви не залишили б тут свого власного несамовитого, зарозумілого «випалу». Вилки ресурсів - це (справді приємна!) Детальна інформація про реалізацію до Mac OS X, і користувачі знаходили їх лише під час взаємодії з іншими системами; Починаючи з 90-х, Apple все більше переїжджає у світ без вилок ресурсів, але все ще згинається назад, щоб зберегти сумісність. "Зберігати метадані в просторі даних користувача"? WTF? Наскільки скручено вам потрібно визначити "метадані" та "простір даних користувача", щоб сказати це? Ви повинні ненавидіти файлові системи!
hmijail

3
"Ховати речі від користувача погано". Людина, ти також мусиш ненавидіти всілякі інтерфейси користувачів, бібліотеки, абстракції, і ... ну, будь-який тип програмування та комп'ютерів, більш досконалий, ніж абак.
hmijail

4
Це не дає відповіді на запитання. Прочитавши цю відповідь, я все ще не маю уявлення про те, які метадані містяться в папці _MACOSX, або які вилки ресурсів. Я думаю, що люди підтримують це лише тому, що вони згодні з мітингом?
Атте Ювонен

1
Хоча я погоджуюся, що емоційно заряджений тон не корисний, я також абсолютно згоден, що створення прихованих речей, які періодично потрібні, є дійсно поганою ідеєю, саме так, як зазначено у цій відповіді: користувачі або (а) не надсилатимуть приховані файли, які є (b) доставити приховані файли, які одержувач може бачити і не розуміти. Ці файли повинні бути або видимими, або дані повинні бути вбудовані у файли певним чином, який позначено як "пропустити" іншими ОС. Приховані файли та каталоги слід використовувати насамперед для захисту користувачів, а не тримати їх у темряві.
Майк Вільямсон,

16

Щоб відповісти на ваше остаточне запитання:

як користувачі mac можуть уникнути цієї помилки?

Користувачі Mac OS X можуть встановити сторонню утиліту архівації на зразок Keka , а потім сказати їй не використовувати Resource Forks, а потім встановити її як компресор за замовчуванням.


Як це зробити з Кекою

Скажіть Keka не використовувати ресурси Forks Forks

  1. Відкрийте Keka без файлу (із Launchpad, Spotlight тощо)
  2. Натисніть ⌘ Cmd+, ,щоб відкрити налаштування
  3. Виберіть вкладку Стиснення
    Вибрана вкладка Keka "Стиснення"
  4. Поставте прапорець "Виключити вилки ресурсів Mac (наприклад: .DS_Store)"
    Поставити прапорець "Виключити вилки ресурсів Mac (наприклад: .DS_Store)"

Зробіть Keka компресором за замовчуванням

  1. У тому ж вікні налаштувань Keka
  2. Виберіть вкладку Загальні
    Вкладка "Загальне" Кека, вибрано
  3. Натисніть "Встановити Keka як компресор / некомпресор за замовчуванням" [sic]
    введіть тут опис зображення

1
Це могло б бути покращено, додавши деяку інформацію про останні два кроки, "скажіть, щоб вона не використовувала ресурси Forks, а потім встановіть її як компресор за замовчуванням".
Стівен К. Хоуелл

@ stvn66 Готово! Однак FYI, як правило, виходить за рамки цих питань, тому я спочатку цього не робив.
Бен Леджієро

2
Схиляючись, вибачте. Я не прихильник встановлення стороннього програмного забезпечення для вирішення проблеми, яку можна виправити за допомогою програмного забезпечення за замовчуванням. Як Кріс Джонсон зазначав вище, zip -dвилучить вилки ресурсів із zipfile. Насправді, я думаю, що якщо ви використовуєте zip в першу чергу, вилки ресурсів не додаються в першу чергу.
Едвард Фолк

1
@EdwardFalk Це справедливо! Ця відповідь мала на меті вирішити "Як змусити мене завжди так поводитися?" Проблема, а не "Як змусити мене так поводитись один раз?" один.
Бен Леджієро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.