بدأ العديد من المستخدمين بعد التحول إلى كاتالينا يشكون من الفرامل. اكتشف الزملاء الغربيون السبب: يرسل MacOS تجزئة أي رمز غير موقع إلى خوادم Apple.يؤدي هذا إلى حدوث تأخيرات خطيرة في التنفيذ ، والتي يمكن التحقق منها بسهولة:echo $'#!/bin/sh\necho Hello' > /tmp/test.sh && chmod a+x /tmp/test.sh
time /tmp/test.sh && time /tmp/test.sh
النتائج مدهشة:$ time /tmp/test.sh && time /tmp/test.sh
Hello
real 0m1.417s
user 0m0.001s
sys 0m0.003s
Hello
real 0m0.003s
user 0m0.001s
sys 0m0.002s
لماذا يحدث ذلك؟ تستخدم Apple آلية Notarization لبعض الوقت - ومعها ، يمكن للمستخدمين التأكد من أن البرنامج الذي تم توقيعه بواسطة Developer-ID صالح لا يحتوي على مكونات ضارة. أي ، بالإضافة إلى حقيقة أن التطبيق موقّع ، ستقوم Apple أيضًا بفحصه تلقائيًا بحثًا عن عناصر البرامج الضارة.من المثير للاهتمام ، في المستقبل ، تخطط آبل بشكل عام لحظر إطلاق برامج غير موثقة. اقتبس:هام
بدءًا من macOS 10.14.5 ، يجب توثيق البرامج الموقعة بشهادة معرف مطور جديدة وجميع ملحقات kernel الجديدة أو المحدثة ليتم تشغيلها. بدءًا من macOS 10.15 ، يجب توثيق جميع البرامج التي تم إنشاؤها بعد 1 يونيو 2019 ، والموزعة باستخدام معرف المطور.
الآن ، على ما يبدو ، من أجل الاختراق ، يتم إرسال أي رمز جديد غير موقع تقوم بتشغيله إلى خادم AAPL. يمكن التحقق من ذلك بسهولة عن طريق تشغيل أي محلل شبكة ورؤية المكالمات إلى مجال api.apple-cloudkit.com. وتجدر الإشارة إلى أنه ليس الرمز نفسه هو الذي يتم إرساله ، ولكن كمية التجزئة. يمكنك التحقق من ذلك بطريقتين - مقارنة كمية البيانات المرسلة عبر الشبكة للحصول على نصوص بأحجام مختلفة ؛ وكذلك النظر في محتويات البرنامج الخفي المسؤول عن إرسال البيانات ( otool -tV / usr / libexec / syspolicyd ). ومع ذلك ، مع بطء اتصال الإنترنت ، يمكن أن تكون التأخيرات ثواني - يكتب مستخدم من الصين عن تأخير قدره 5.47 ثانية.من ناحية ، يمكن لشركة Apple أن تفهم - فهي تهتم بأمان المستخدمين ، ومع ذلك ، في نفس الوقت تحول عملية أي تطوير على منصتهم إلى جحيم.ولكن أريد أن أقتبس من المطور الذي لفت الانتباه أولاً إلى المشكلة:يشير سلوك نظام التشغيل هذا إلى مشكلات خطيرة في تصميمه عندما تقوم طريقتان من واجهة برمجة تطبيقات النظام ذات المستوى المنخفض (على سبيل المثال ، exec و getxattr) بإجراء مكالمات شبكة متزامنة قبل إرجاع النتيجة.الروابط:lapcatsoftware.com/articles/catalina-executables.htmlnews.ycombinator.com/item؟id=23275922sigpipe.macromates.com/2020/macos-catalina-slow-by-design