سؤال ما هو مجلد __MACOSX؟


ما هذه المجلدات __MACOSX التي أشاهدها في ملفات zip التي تم إنشاؤها بواسطة الأشخاص في OSX؟ بعض يأخذ ما يصل إلى 30 ٪ من الملف.

ما البرنامج الذي ينتج عنه مجلد __MACOSX وكيف يمكن لمستخدمي Mac تجنب هذا الخطأ؟


137
2018-02-03 22:37


الأصل


إنها مزعجة للغاية ، نعم ، وغالبًا لا معنى لها حيث أن شوك المورد غالبا ما تكون فارغة. ولكن على الأقل أنها غير ضارة ، على عكس النهج غير القياسي ، فقد اتخذت Apple> 4GB أحجام الأرشيف مع الاشياء OS X المضمنة ، والتي سوف تربك أي أداة أخرى وتكسر مرة أخرى لملفات كبيرة بما فيه الكفاية. وقد يكون الأمر أسوأ من ذلك ، يمكن تخزين نسختين من كل ملف يحمل الاسم نفسه ، واحد للبيانات والأخرى لتفرع الموارد ، مما يجعل من المستحيل الوصول إلى أي منهما ، مثلما كان يستخدم نظام ما قبل OSX Mac. يا أبل ، لماذا تكره تنسيقات الملفات القياسية؟ - bobince
bobince: في الواقع ، كانت شوكات الموارد فكرة جيدة جدًا ... في ذلك الوقت. في هذه الأيام ، يتم تحقيق نفس التأثير من خلال تخزين الموارد كملفات فردية ، معظمها يشبه إلى حد كبير تنسيقات الملفات القياسية.
لا يوجد شيء خاطئ في البيانات الوصفية على هذا النحو ، فكل ما في الأمر هو أن أبل لديها موهبة في تكوين أشكالها الخاصة وإخفاء التنسيقات الموجودة مع امتدادات غير متوافقة على الإطلاق! يعد وجود بيانات نوع المحتوى كبيانات التعريف أمرًا رائعًا في حد ذاته ، ويحزنني أن نظام التشغيل X يتحرك نحو اختراق Windows لملحقات الملفات كبديل. على الرغم من أن هذا ليس سيئًا كما هو الحال في Linux ، حيث يدعم نظام الملفات تخزين البيانات الوصفية لنوع المحتوى ، ولكن لا تستخدمها أجهزة سطح المكتب ، مفضلاً مزيجًا مكسورًا تمامًا من أنماط امتداد الملف / الاسم واستنشاق المحتوى (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 بتخزين Resource 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
رابط ميت ، يرجى الإصلاح. - think123
"منذ ويندوز وأنظمة التشغيل الأخرى لا يفهمون" - هتاف اشمئزاز. أنا فقط أكره هذا النوع من المصطلحات - Joe Plante
اكتشفت للتو: إذا كنت تستخدم جهاز Mac ، فيمكنك استخدام سطر الأوامر ، unzip filename.zip سوف تفريغ __MACOSX / الدليل ، الذي لا تريد ، ولكن open filename.zip سوف نفعل الشيء الصحيح. - Edward Falk


إليك رابط يشرحها جيدًا. أفترض أن الوقت متأخر قليلاً لمساعدة يادا ، لكن للأجيال القادمة.

شرح شوكة الموارد في ويكيبيديا

الباقي هو رأيي:

nickf: عدم رؤية هذه الملفات ليس سمة من إصدارات OS X هذه هي FLAW. ينتج الناس البيانات ويلفونها ويخزنونها على وسائط مختلفة وهكذا. انهم بحاجة الى معرفة ما هو مطلوب أو ما هو غير مطلوب. يخفيها يبقيهم في الظلام.

فكرة سيئة قديمة عن إخفاء الأشياء عن المستخدمين: مبرمج ، مهتم بإنجاز أعماله الخاصة ، يسيء إلى شيء ما في مجال المستخدم النهائي ، لتسهيل الأمر على نفسه.

في هذه الحالة ، قام بتخزين بيانات التعريف في مساحة بيانات المستخدم ، ثم أخفىها من المستخدم. غاب عن الصورة الكبيرة: لن يكون المستخدم على دراية بالتفاصيل المخفية. عندما يقوم بتعبئة بياناته وشحنه في مكان ما غير متوقع من قبل المبرمج ، لن يتم شحن الأجزاء المفقودة أو الأجزاء غير المعروفة التي لا تصل أي منهما يمكن للمستخدم ولا المستلم شرح.

إخفاء الأشياء من المستخدم أمر سيء. يفترض أن المستخدم غبي ، عندما يكون أكثر دقة هو مبرمج غبي ، أو كسول.

لنكون واضحين ، هذه العادة السيئة لا تقتصر على MAC. إنه في كل مكان. إنها نتيجة للمبرمجين الذين يقعون في حب مخططاتهم الخاصة والبائعين تحديد أولويات أهدافهم الخاصة قبل تلبية احتياجات المستخدم النهائي.

باختصار.

__MACOSX:
رائحة غريبة مبردة برز يخرج من تحت البساط حيث اجتاحت.

المبرمجون والموردون: الرجاء إبقاء الأمور في العراء. عندما تقوم بإخفائها ، فإنك تجعل نفسك أغبياء والمستخدم غير مطّلع.


99
2017-12-03 01:31



سيكون هذا الجواب أفضل إذا كان مجرد إجابة. الصخب الموسعة حول المبرمجين الأغبياء والمستخدمين البطيئة ينتقص من ذلك. - Kristopher Johnson
pbernatchez في الواقع ، إذا توقفت عن التعرّف على كيف بدت الأشياء وكيف تطورت ، ربما لن تغادر هنا "الروث" المتكبر الخاص بك. كانت شوكات الموارد (app nice-nice!) تفصيليًا للتنفيذ قبل نظام Mac OS X ولم يتمكن المستخدمون من العثور عليها إلا عند التفاعل مع الأنظمة الأخرى. منذ التسعينات ، انتقلت شركة Apple بشكل متزايد إلى عالم خالٍ من موارد الموارد ، ولكنها لا تزال تنحني للخلف للحفاظ على التوافق. "تخزين البيانات الوصفية في مساحة بيانات المستخدم"؟ WTF؟ كيف يجب عليك تعريف "البيانات الوصفية" و "مساحة بيانات المستخدم" لتقول ذلك؟ يجب أن تكره أنظمة الملفات! - hmijail
"إخفاء الأشياء من المستخدم أمر سيء". رجل ، يجب أن تكره أيضا كل نوع من واجهات المستخدم ، والمكتبات ، والتجريد ، و ... حسنا ، أي نوع من البرمجة وأجهزة الكمبيوتر أكثر تقدما من المعداد. - hmijail
هذا لا يجيب على السؤال. بعد قراءة هذه الإجابة ، ما زلت لا أعلم أي بيانات تعريف موجودة في المجلد _MACOSX ، أو ما هي مصادر الشوك. أعتقد أن الناس يصوتون لهذا فقط لأنهم يتفقون مع التشدق؟ - Atte Juvonen
إليك رابط آخر أعتقد أنه يشرح الموارد بشكل جيد: xahlee.info/UnixResource_dir/macosx.html - GDP2


للإجابة على سؤالك الأخير:

كيف يمكن لمستخدمي ماك تجنب هذا الخطأ؟

يمكن لمستخدمي Mac OS X تثبيت أداة أرشفة تابعة لجهة خارجية مثل Keka، ثم أخبرها بعدم استخدام Resource Forks ، ثم قم بتعيينها على أنها الضاغط الافتراضي.


كيف نفعل هذا مع Keka

أخبر Keka بعدم استخدام Resource Forks

  1. افتح كيكا بدون ملف (من Launchpad ، Spotlight ، وما إلى ذلك)
  2. صحافة ⌘ كمد+، إلى فتح التفضيلات
  3. اختر ضغط التبويب
    Keka "Compression" tab, selected
  4. التحقق من "استبعاد forks موارد Mac (على سبيل المثال: .DS_Store)" 
    A checkbox reading "Exclude Mac resource forks (ex: .DS_Store)"

جعل Keka الضاغط الافتراضي

  1. في نفس Keka التفضيلات نافذة او شباك
  2. اختر جنرال لواء التبويب
    Keka "General" tab, selected
  3. انقر فوق "تعيين Keka كما الافتراضي ضاغط / uncompressor" [كذا]
    enter image description here

13
2017-11-05 15:03



يمكن تحسين ذلك من خلال إضافة بعض المعلومات عن آخر خطوتين ، "إخباره بعدم استخدام Resource Forks ، ثم تعيينه على أنه الضاغط الافتراضي." - Steven C. Howell
@ stvn66 انتهى! ومع ذلك ، فإن مجرد FYI ، وهذا عادة ما يكون خارج نطاق هذه الأسئلة ، وهذا هو السبب في أنني لم أكن في البداية. - Ben Leggiero
اسف ، اسف لست من المعجبين بتثبيت برنامج تابع لجهة خارجية لإصلاح مشكلة يمكن حلها مع البرنامج الافتراضي. كما أشار كريس جونسون أعلاه ، zip -d سيزيل الشوك المورد من zipfile. في الواقع ، أعتقد أنه إذا كنت تستخدم الرمز البريدي في المقام الأول ، فلن تتم إضافة شوكة الموارد في المقام الأول. - Edward Falk
EdwardFalk هذا عادل! كان الهدف من هذه الإجابة هو حل "كيف يمكنني أن أتصرف على هذا النحو دائمًا؟" المشكلة ، وليس "كيف يمكنني الحصول على التصرف بهذه الطريقة مرة واحدة؟" واحدة. - Ben Leggiero