שיעור 12: עדכונים ושדרוגים¶
חלק א': מאגר ידע למדריך
1. טרמינולוגיה ואסטרטגיה: עדכון (Update) מול שדרוג (Upgrade)¶
1. High-Level Theory & History¶
[!TIP] הקשר היסטורי: לפני macOS Big Sur (ולפני ה-SIP שהוצג ב-El Capitan), עדכונים התבצעו פשוט על ידי העתקת קבצים חדשים לדיסק דרך קבצי דלתא. זה גרם לעיתים להתקנות פגומות במידה ומשהו נקטע באמצע. אפל השתמשה אז בעדכוני "Combo" שכללו את כל השינויים מאז הגרסה המרכזית האחרונה כדי לתקן ולכסות על בעיות אלה. כיום, בזכות ארכיטקטורת ה-SSV (Signed System Volume), כל עדכון נבדק קריפטוגרפית, ולכן אין יותר צורך בעדכוני Combo.
היסטורית, "עדכון" (Update) התייחס לשינויי גרסה מינוריים או טלאי אבטחה בתוך אותה משפחת מערכות הפעלה. "שדרוג" (Upgrade) התייחס למעבר לדור חדש לחלוטין של המערכת, שחייב אפליקציית התקנה מלאה. כיום, החוויה אוחדה ויזואלית עבור משתמש הקצה: שניהם מופיעים ומנוהלים מתוך System Settings -> General -> Software Update. עם זאת, מאחורי הקלעים הטיפול בהם שונה.
ב-macOS 26 Tahoe, עדכונים מותאמים אישית ספציפית לדרישות המק המעודכן, מה שאומר שגודל ההורדה משתנה משמעותית בהתאם לפער שבין גרסת המערכת המקורית לחדשה.
2. Deep Technical Architecture¶
הארכיטקטורה המודרנית של התקנת עדכונים ושדרוגים נשענת על מנגנון ה-SSV (Signed System Volume). כאשר מזוהה עדכון זמין, תהליך softwareupdated מחשב את שטח הדיסק הדרוש דרך משימה שנקראת CalculatePrepareSize. משימה זו מחשבת את גודל ה-cryptex הנדרש (שיכול לעלות על 7.8 ג'יגה-בייט) וגדלי התקנת ה-snapshot.
התהליך מוריד את קובץ העדכון אל תיקיית staging. משלב זה נכנס לפעולה שירות ה-UpdateBrainService.
ב-macOS Tahoe, ההורדה וההכנה מהוות כל אחת קצת פחות מ-40% מסרגל ההתקדמות.
השירות בונה Snapshot חדש של מערכת ההפעלה, מטמיע לתוכה את הקבצים המעודכנים (דרך הזרמת פריסה והורדת cryptex), וחותם אותה קריפטוגרפית מול השרתים של אפל.
זה מאפשר למערכת להמשיך לעבוד כרגיל ברקע (לרוב תוך שימוש בליבת ביצועים - Performance Core - בודדת כדי שהמשתמש יוכל להמשיך לעבוד). ההשבתה היחידה היא זמן ה-Reboot, בו המערכת משנה את מצביע הבוט ל-Snapshot החדש. עם שבבי M-series מהירים יותר, שלב ההחלה (Apply) יכול לקחת רק כ-18 דקות.
3. Terminal Commands, Plists & Logs¶
-
פקודות טרמינל (CLI): כלי ה-CLI המרכזי הוא
softwareupdate. רשימת העדכונים הזמינים:softwareupdate -lהתקנת כל העדכונים המומלצים:softwareupdate -i -aהורדת קובץ התקנה מלא:softwareupdate --fetch-full-installer --full-installer-version 26.0 -
Plists: ההעדפות נשמרות ב:
/Library/Preferences/com.apple.SoftwareUpdate.plist. -
Logs: לוגים היסטוריים:
/var/log/install.log. מעקב חי (Live):log show --predicate 'subsystem == "com.apple.SoftwareUpdate"' --info --debug
4. Edge Cases & Troubleshooting¶
תקלות נובעות לרוב מחוסר שטח דיסק זמין ב-Data Volume. מערכת ההפעלה מריצה באופן אקטיבי את CalculatePrepareSize כדי למנוע ביטול העדכון באמצע התהליך.
בעיות רשת שחוסמות גישה ל-gs.apple.com מונעות "אימות" (Personalization), מה שגורם לכישלון.
במצבי קיצון, המעקף המומלץ הוא כניסה ל-macOS Recovery וביצוע Reinstall macOS - להורדת תמונה חדשה ונקייה ללא פגיעה בנתוני המשתמש.
2. מנגנון RSR: לעדכוני אבטחה מיידיים (Rapid Security Responses)¶
1. High-Level Theory & History¶
החל מ-macOS Ventura ולאורך התפתחותה ב-Tahoe בתור "Background Security Improvements" (BSI), אפל הציגה את ה-Rapid Security Responses (RSR). המטרה היא לנתק את התלות בין עדכוני אבטחה דחופים (כמו חולשות ב-WebKit) לבין מחזור העדכונים המלא והכבד של מערכת ההפעלה. RSR דוחף טלאים מיקרוסקופיים שמותקנים במהירות. עדכוני RSR מסומנים באות בסוגריים, למשל macOS 26.3.1 (a).
2. Deep Technical Architecture¶
RSR מבוסס על טכנולוגיית Cryptex (Cryptographically Executable). מדובר בתמונת דיסק קטנה, מאובטחת וחתומה, שמוטענת מעל ל-System Volume (SSV) הנעול. מכיוון שה-SSV אינו ניתן לשינוי, RSR פשוט "מלביש" מעליו את הקבצים המעודכנים. אם העדכון נוגע רק לאפליקציה כמו Safari, החלתו דורשת רק יציאה והפעלה מחדש של האפליקציה. אם הוא נוגע לספריות מערכת עמוקות, נדרש אתחול (Reboot) - אך זהו אתחול מהיר משמעותית מעדכון מסורתי מאחר והמערכת לא נדרשת לבנות ולחתום SSV חדש, אלא פשוט לטעון את ה-Cryptex בשלב מוקדם של האתחול.
3. Terminal Commands, Plists & Logs¶
-
ממשק משתמש וטרמינל: מוגדר תחת System Settings -> Privacy & Security -> Background Security Improvements. שורת הפקודה
softwareupdateמתייחסת ל-RSR כדלתא מהירה אך אינה מספקת דגלים בלעדיים להתקנתם בנפרד מעדכון רגיל. -
Plists: מנוהל תחת הגדרות האבטחה, לרוב באמצעות פרופילי MDM.
-
הסרה וביטול: הדרך הנתמכת כיום לבטל RSR (Rollback) היא דרך הממשק: לחיצה על (i) ליד גרסת המערכת ובחירה ב-Remove and Restart.
4. Edge Cases & Troubleshooting¶
תרחיש הקצה המרכזי הוא חוסר תאימות עם תוכנות קיימות (למשל, כלי אבטחה ארגוניים צד-שלישי הקורסים בגלל שינוי ספריות). היתרון העצום של ארכיטקטורת ה-Cryptex הוא אפשרות ה-Rollback המיידי. מסירים את העדכון בהגדרות המערכת, ובזמן האתחול המערכת פשוט לא טוענת את ה-Cryptex וחוזרת ל-SSV המקורי.
3. Migration Assistant: העברת פרופילים ו-Best Practices¶
1. High-Level Theory & History¶
כלי ה-Migration Assistant הוא כלי הליבה של macOS להעברת מידע ממק ישן, שחזור מ-Time Machine, או אפילו הגירה מ-PC. מטרתו היא לאפשר למשתמש להמשיך לעבוד כרגיל, בדיוק כמו במחשב הישן. אולם, בסביבה ארגונית, שימוש עיוור בכלי עלול לגרור את "חטאי העבר" - קבצי קונפיגורציה ישנים, הגדרות רשת שגויות, פרופילי MDM מתנגשים, והרחבות שאינן נתמכות. לכן, ההמלצה בארגונים היא להגר בצורה סלקטיבית או לעבוד בתצורה מנוהלת ענן.
2. Deep Technical Architecture¶
Migration Assistant מחשב שטחי אחסון וממפה את עץ התיקיות של ה-Data Volume.
[!IMPORTANT] Migration Assistant מעולם לא מעתיק את מערכת ההפעלה (ה-SSV) עצמה; מערכת ההפעלה ביעד נשארת חדשה ונקייה.
במהלך ההגירה, הוא ממפה UIDs (User Identifiers). אם קיים משתמש עם אותו שם במק החדש, המערכת תשאל האם לדרוס או לשנות שם. המשתמשים שהוחלפו עוברים לתיקיית Deleted Users.
ההעברה יכולה להתבצע דרך Wi-Fi, Ethernet, או Thunderbolt. במחשבי Apple Silicon, מנגנון ה-Target Disk Mode הוחלף ב-Mac Sharing Mode, המבוסס על SMB ודורש הזדהות קריפטוגרפית מתוך ה-Recovery.
3. Terminal Commands, Plists & Logs¶
-
פקודות טרמינל (CLI): מניעת שינה במהלך הגירה ארוכה (טרום כניסה):
sudo systemsetup -setcomputersleep Never. -
Plists: פרופילי MDM בשלב ה-Setup Assistant יכולים להסתיר או למנוע את השימוש בכלי מטעמי אבטחה.
-
Logs: מעקב אחר התהליך דרך:
log show --predicate 'process == "Migration Assistant"'
4. Edge Cases & Troubleshooting¶
תקלות נפוצות נובעות מחומות אש (Firewalls), VPN או אנטי-וירוס במק המקור החוסמים את ה-Handshake. כיבוי זמני שלהם יפתור את הבעיה.
כאשר מהגרים מאינטל ל-Apple Silicon, העברת תיקיית "Applications" עלולה לגרור אפליקציות שדורשות Rosetta 2 או Kexts שאינם נתמכים, ולגרום לקריסות. בארגונים, ה-Best Practice הוא העברה חלקית (רק Data ו-Users) והתקנה מחדש של האפליקציות.
4. תיבול ארגוני: כפיית עדכונים (Software Update Policies) ו-Deferrals¶
1. High-Level Theory & History¶
[!TIP] הקשר היסטורי: בעבר, מנהלי IT נהגו לנהל עדכונים באמצעות שרתי SUS או כלים כמו Reposado כדי לחסום הורדות. עם המעבר ל-Apple Silicon וארכיטקטורת ה-SSV המודרנית, חסימת הגישה לשרתי אפל מונעת את אימות המערכת (Personalization).
הגישה המודרנית מסתמכת על MDM כדי לאכוף עדכונים (Software Update Policies), לבצע השהיות (Deferrals), ולהשתמש בשרתי ה-CDN הגלובליים של אפל או ב-Content Caching מקומי לחיסכון ברוחב פס.
2. Deep Technical Architecture¶
המנגנון הארגוני נשען במידה רבה על ה-Declarative Device Management (DDM) וההכרזה מסוג com.apple.configuration.softwareupdate.enforcement.specific.
כאשר נשלחת מדיניות עדכון, מנהל הרשת יכול להגדיר גרסת יעד ותאריך יעד קשיח (Deadline). ה-Mac מבין את חלון הזמן ומציג התראות מדורגות למשתמש. לאחר שחלף הדדליין, התקנת העדכון תבוצע בכפייה (Forced), ותסגור אפליקציות לאתחול מידי.
פרופילים גם תומכים בהשהיה (Deferrals). ניתן להשהות עדכוני Minor או Upgrades לתקופה של עד 90 יום מיום השחרור הציבורי. RSRs נכפפים בדרך כלל למדיניות ה-Minor deferral.
3. Terminal Commands, Plists & Logs¶
-
פקודות טרמינל (CLI): ניקוי זכרון ההשהיות לוקאלית (אם מותר):
softwareupdate --clear-deferralsבדיקת פרופילי MDM מותקנים:profiles show -type configuration -
Plists: הפרופילים נשמרים תחת
com.apple.softwareupdateב-Managed Preferences. -
Logs: ניתן לחקור בעיות DDM באמצעות ULS בחיפוש המילה
managedclient.
4. Edge Cases & Troubleshooting¶
בעיות ארגוניות נפוצות מתרחשות כאשר MDM כופה עדכון, אך המחשב אינו מחובר לחשמל או חסר בשטח אחסון. למרות הכפייה, המערכת תסרב לפרוס כדי להגן מפני קריסה.
אם קיימות מספר הכרזות תלויות (למשל, 26.1 עד תאריך X, ו-26.2 עד תאריך Y), מערכת ההפעלה מעדיפה את הדדליין המוקדם יותר. בנוסף, חסימה של הרשת ל-swscan.apple.com או gs.apple.com תכשיל את כל תהליך העדכון.
💡 עזרים ויזואליים להרצאה (Presentation Visuals)¶