לדלג לתוכן

שיעור 12: עדכונים ושדרוגים

חלק א': מאגר ידע למדריך

1. ארכיטקטורת העדכונים המודרנית ב-macOS (The Modern Update Architecture & Pipeline)

1. High-Level Theory & History

ההיסטוריה של מנגנוני העדכון ב-macOS משקפת את המעבר של Apple ממערכת הפעלה פתוחה ומבוססת קבצים למערכת מונחית אבטחה, קריפטוגרפיה ואימות חומרה הדוק. בעידן של מערכות קבצים ישנות (HFS+) וטרם הצגת ה-SIP (System Integrity Protection ב-OS X El Capitan), עדכוני מערכת התבצעו על ידי כתיבה ישירה של קבצים חדשים ודלתות (Deltas) אל כונן המערכת הפעיל. במידה וההתקנה נקטעה באמצע (למשל עקב כיבוי פתאומי או הפסקת חשמל), המערכת נותרה במצב לא עקבי (Inconsistent State) שהוביל לקריסות בלתי ניתנות לתיקון. כדי להתגבר על כך, Apple הפיצה באופן קבוע עדכוני "Combo" שכללו את כלל השינויים והקבצים מאז שחרור גרסת הבסיס (למשל מ-10.6.0 ל-10.6.8), על מנת לדרוס ולתקן קבצים פגומים.

המהפכה האמיתית הושלמה עם המעבר ל-Apple Silicon והצגת ארכיטקטורת ה-SSV (Signed System Volume) ב-macOS Big Sur. כיום, ב-macOS 26 Tahoe, מושג ה-"Combo Update" הפך לנחלת ההיסטוריה. מערכת ההפעלה אינה כותבת לעולם לקבצי המערכת החיים. במקום זאת, תהליך העדכון מנוהל באמצעות מכונת מצבים סופית (Finite State Machine - FSM) דטרמיניסטית ומבוקרת.

חשוב להבחין בין שני מונחי יסוד: * עדכון (Update): שינוי גרסה מינורי בתוך אותה משפחת מערכות הפעלה (למשל מ-26.2 ל-26.3) הכולל טלאי אבטחה ותיקוני באגים. * שדרוג (Upgrade): מעבר לדור חדש לחלוטין של מערכת ההפעלה (למשל מ-macOS 26 ל-macOS 27), המביא עמו שינויי ליבה ופיצ'רים רחבי היקף.

בעוד שבעבר שדרוגים דרשו אפליקציית התקנה ייעודית (Full Installer) בעוד שעדכונים נפרסו ברקע, כיום ממשק המשתמש ב-System Settings > General > Software Update מאחד את שניהם בחוויה ויזואלית חלקה, כאשר ההבדלים ביניהם מתבטאים בנפח ההורדה, בלוגיקת האישור ובארכיטקטורת ה-Staging.

2. Deep Technical Architecture

הארכיטקטורה המודרנית של התקנת עדכונים ב-macOS נשענת על שרשרת תהליכים מתוזמרת הפועלת כמכונת מצבים (FSM):

┌─────────────────────────────────────────────────────────────────────────────────┐
│                    macOS 26 Software Update Pipeline (FSM)                      │
└─────────────────────────────────────────────────────────────────────────────────┘
  1. Discovery        Pallas Server (mesu.apple.com) ──> Catalog & Audience Check
         │
  2. Preflight Space  CalculatePrepareSize ──> deleted(8) Cache Purge ──> Space Check
         │
  3. Stream Download  updates.cdn-apple.com ──> Streaming Zip Decompression
         │
  4. UpdateBrain      UpdateBrainService ──> Build SSV Snapshot + Rosetta + RecoveryOS
         │
  5. Personalization  gs.apple.com (TSS) ──> Cryptographic Sealing & SFR Ticket
         │
  6. Reboot & Switch  One-time Blown Seal ──> Boot into Newly Sealed Snapshot
  • סריקה וזיהוי קטלוג מול שרתי Pallas: תהליך הרקע softwareupdated מתשאל את שרת העדכונים של אפל המכונה פנימית Pallas (בנתיב mesu.apple.com/assets/macos/). השאילתה כוללת מזהה UUID ייחודי מגרסה 5 ואת קהל היעד (Pallas Audience — לקוח רגיל, בטא מפתחים או בטא ציבורית).
  • חישובי שטח וניקוי מקדים (CalculatePrepareSize): טרם תחילת ההורדה, המערכת מריצה בדיקה קפדנית של שטח הדיסק הדרוש. החישוב כולל:
  • גודל ה-Payload הדחוס.
  • גודל ה-Snapshot Apply (לרוב פי 2 מגודל מחיצת העדכון + תקורה של APFS).
  • גודל ה-App Cryptex הנדרש (פי 1.2 מגודל ה-Cryptex המקורי).
  • במקביל, מופעל הדמון deleted(8) כדי לפנות באופן אקטיבי מטמונים ישנים ו-Local Snapshots המוגדרים כ-Purgeable Space (כפי שנלמד בשיעורים 06 ו-07).
  • הזרמה וחילוץ תוך כדי הורדה (Streaming Decompression): קובץ העדכון המרכזי מגיע כארכיון Zip דחוס מ-updates.cdn-apple.com. ב-macOS 26, חילוץ הקבצים מתבצע כזרם (Stream) ישירות תוך כדי ההורדה ונכתב לנתיב /System/Library/AssetsV2/com_apple_MobileAsset_MacSoftwareUpdate/, מה שמבטל את זמני ההמתנה הארוכים לחילוץ טרום ההתקנה.
  • שירות ה-UpdateBrainService ועדכון מקבילי: חבילת העדכון כוללת קוד בינארי עצמאי הנקרא UpdateBrain. שירות זה אחראי להרכיב את תמונת המערכת החדשה ברקע (על גבי ליבת יעילות או ביצועים בודדת), תוך כדי שהמשתמש ממשיך לעבוד. ה-UpdateBrain מעדכן במקביל:
  • את מחיצת ה-SSV הראשית (יצירת Snapshot חדש).
  • את רכיבי התרגום של Rosetta 2 (במחשבי Apple Silicon).
  • את מערכת ההתאוששות (באמצעות RecoveryOS UpdateBrain).
  • את קושחת המכשיר (SFR - Sealed Firmware Restore).
  • אימות וחתימה (Personalization): לקראת סיום ההכנה, המק פונה לשרת האימות של אפל (gs.apple.com - TSS) ושולח את מזהה ה-ECID הבלעדי של שבב ה-Apple Silicon. השרת מחזיר כרטיס אימות חתום קריפטוגרפית (Personalized Ticket). בשלב זה המערכת מסמנת את ה-Snapshot החדש כיעד האתחול הבא. האתחול (Reboot) עצמו אורך דקות ספורות בלבד מכיוון שכל העבודה הכבדה כבר בוצעה.

3. Terminal Commands, Plists & Logs

  • מסוף הפקודות (Terminal):
  • softwareupdate -l / softwareupdate --list — סריקה והצגת כלל העדכונים הזמינים למכשיר.
  • softwareupdate -i -a / softwareupdate --install --all — הורדה והתקנה של כל העדכונים המומלצים.
  • softwareupdate --fetch-full-installer --full-installer-version 26.3 — הורדת חבילת התקנה מלאה (Universal Mac Assistant - UMA) בנפח של כ-13GB ישירות לתיקיית /Applications.
  • Plists & Configuration:
  • הגדרות שירות העדכון המקומי: /Library/Preferences/com.apple.SoftwareUpdate.plist.
  • תיקיית Staging זמנית של קובצי העדכון: /System/Library/AssetsV2/com_apple_MobileAsset_MacSoftwareUpdate/.
  • היסטוריית קבלות והתקנות: /Library/Receipts/ ו-/var/log/install.log.
  • Unified Logging System (ULS) & Predicates:
  • מעקב חי אחר שירות העדכון: log stream --predicate 'subsystem == "com.apple.SoftwareUpdate" or process == "softwareupdated"' --info
  • מעקב אחר מנוע ה-UpdateBrain: log show --predicate 'process == "UpdateBrainService"' --last 1h

4. Edge Cases & Troubleshooting

  • Edge Case - כשל CalculatePrepareSize עקב שטח דיסק מדומה: המשתמש רואה ב-Finder שיש 25GB פנויים, אך תהליך העדכון נכשל מיד בהודעת שטח לא מספק. הסיבה: שטח ה-SSV הנדרש להחלת העדכון כפול מגודל העדכון בפועל, בתוספת Cryptex.
  • Troubleshooting: הרצת tmutil thinlocalsnapshots / 10000000000 4 לשחרור שטח Purgeable שנתפס ע"י Snapshots מקומיים (כפי שלמדנו בשיעור 06 ו-07), ומחיקת קבצים גולמיים מתיקיית ההורדות.
  • Edge Case - לולאות אתחול (Boot Loops) וכשל קושחה בעדכון: במקרים נדירים שבהם עדכון קושחה או Cryptex נכשל בשלב ה-Personalization או ה-Staging, המק עלול להיכנס ללולאת אתחול עם Kernel Panic מוקדם.
  • Troubleshooting: כיבוי כפוי (לחיצה רצופה על כפתור ההפעלה למשך 10 שניות), כניסה למצב Safe Mode (לחיצה ממושכת על Power, בחירת הכונן ולחיצה על Shift) לניקוי תיקיות ה-AssetsV2 הפגומות, או כניסה ל-1TR / Fallback Recovery.
  • Edge Case - חסימות תקשורת מול שרתי אפל: חסימת חומת אש או שרת פרוקסי שמונעת גישה ל-swscan.apple.com, mesu.apple.com, או gs.apple.com תכשיל את תהליך ה-Personalization. חובה לוודא שפורטים 80, 443 ו-5223 פתוחים לרשת 17.0.0.0/8.

2. אבטחה, הרשאות וחומרה ב-Apple Silicon (Volume Ownership & Cryptexes)

1. High-Level Theory & History

במחשבי Mac מבוססי Intel, ביצוע עדכוני תוכנה ברמת הקו המפקד (CLI) דרש הרשאות מנהל (sudo), אך מערכת ההפעלה לא דרשה אימות חומרתי קריפטוגרפי של המשתמש. כל תהליך בעל הרשאות root יכול היה לברך (Bless) כונן אתחול חדש או להחיל שינויי קושחה.

עם המעבר לשבבי Apple Silicon, אפל יצרה שרשרת אמון חומרתית (Hardware Chain of Trust) המעוגנת ישירות ב-Secure Enclave Processor (SEP) ובמדיניות האבטחה המקומית (LocalPolicy). החל משלב זה, החלת עדכון מערכת הפעלה או שינוי ברמת האבטחה (Secure Boot) אינם נשענים עוד על הרשאות root טכניות בלבד, אלא דורשים בעלות על הכרך (Volume Ownership). בעל כרך הוא משתמש מקומי המחזיק ב-Secure Token קריפטוגרפי ומקושר ל-Keybag של ה-Data Volume (כפי שנלמד בשיעור 04).

2. Deep Technical Architecture

  • הרשאות עדכון בממשק הגרפי (GUI Permissions):
  • החל מ-macOS 12.3 ואילך, Apple אפשרה לכל משתמש מקומי (כולל Standard Users) לאשר ולהתקין עדכוני תוכנה ושדרוגים ישירות דרך System Settings > General > Software Update, בתנאי שאותו משתמש הוא Volume Owner (בעל Secure Token במכשיר).
  • לעומת זאת, התקנת מתקין מלא (Universal Mac Assistant - UMA) או ביצוע פעולות עדכון מתוך שורת הפקודה (Terminal) עדיין דורשים הרשאות מנהל מקומי (Local Administrator).
  • ארכיטקטורת Cryptex ו-Background Security Improvements (BSI):
  • בעבר הציגה אפל את מנגנון ה-RSR (Rapid Security Responses) כעדכונים בעלי סיומת אותיות (a)/(b). ב-macOS 26 Tahoe, הטכנולוגיה הוטמעה כחלק מ-Background Security Improvements (BSI).
  • מהו Cryptex? ראשי תיבות של Cryptographically Executable. מדובר באימג' דיסק מוצפן, חתום ומאובטח המאוחסן ב-/System/Volumes/Preboot/Cryptexes/.
  • בעת אתחול המערכת, ה-Cryptex מורכב (Mounted) בשכבה עילית ישירות מעל ה-SSV הנעול.
  • כאשר מתגלה פרצת אבטחה קריטית ב-Safari או ב-WebKit, אפל אינה צריכה לבנות ולחתום SSV שלם בנפח 14GB. היא דוחפת Cryptex קטנטן בנפח עשרות מגה-בייט שמלביש את הספריות המעודכנות.
  • החזרה לאחור (Rollback): במקרה של תקלת תאימות, ניתן לבטל את ה-BSI בהגדרות המערכת. בעת האתחול הבא, ה-Bootloader פשוט מדלג על טעינת ה-Cryptex וחוזר למערכת הבסיסית הנקייה באופן מיידי.

3. Terminal Commands, Plists & Logs

  • מסוף הפקודות (Terminal):
  • בדיקת שיוך Secure Token למשתמש: sysadminctl -secureTokenStatus <username>
  • בדיקת מצב האבטחה של הכונן: diskutil apfs list
  • Plists & Configs:
  • הגדרות שירות ה-Cryptex: /Library/Preferences/com.apple.security.cryptexd.plist.
  • Logs & ULS:
  • ניטור פעולות ה-Cryptex ברקע: log show --predicate 'process == "cryptexd"' --info --last 1h

4. Edge Cases & Troubleshooting

  • Edge Case - חסימת עדכון למשתמש ללא Secure Token: משתמש Standard שנוצר ללא Secure Token (או משתמש רשת מקומי שלא עבר אימות Secure Enclave) מנסה לעדכן דרך ה-GUI ומקבל הודעת שגיאה על חוסר הרשאה.
  • Troubleshooting: מתן Secure Token למשתמש דרך חשבון מנהל בעל Token באמצעות הפקודה sysadminctl -secureTokenOn <user> -password <pass> -adminUser <admin> -adminPassword <adminpass>.
  • Edge Case - שבירת תאימות עקב עדכון Cryptex (BSI Glitch): תוכנת אבטחה ישנה קורסת לאחר ש-macOS החילה עדכון BSI שקט ששינה ספריות מערכת.
  • Troubleshooting: פתיחת System Settings > General > About, לחיצה על האות (i) ליד גרסת ה-macOS, בחירה באפשרות Remove & Restart להסרת ה-Cryptex וחזרה מיידית למצב הקודם.

3. כלי ה-CLI softwareupdate, ה-Migration Assistant ומדריך תקלות (Tools & Recovery Playbook)

1. High-Level Theory & History

בעבר, כאשר טכנאי IT נדרש להעביר נתונים בין שני מחשבי Mac, השיטה המקובלת הייתה Target Disk Mode (הדלקת המק תוך לחיצה על מקש T). המחשב הפך למעין כונן קשיח חיצוני בחיבור FireWire או Thunderbolt, ותוכנת ה-Migration Assistant הייתה שואבת ממנו את כלל המידע ישירות.

עם המעבר ל-Apple Silicon והצפנת החומרה המלאה של ה-Secure Enclave, ה-Target Disk Mode בוטל לחלוטין. במקומו הציגה אפל את כלי ה-Share Disk במצב Recovery, המשתף את הדיסק ברשת או בחיבור כבל ישיר באמצעות פרוטוקול SMB מאובטח הדורש אימות מנהל.

במקביל, השימוש ב-Migration Assistant דורש זהירות רבה: העברה עיוורת גוררת "חטאי עבר" — קובצי LaunchDaemons מיושנים, Kexts שאינם תואמי ARM, והגדרות רשת שבורות. בנוסף, כלי ה-CLI softwareupdate הוא כלי חיוני אך כולל מיתוסים רבים שמנהלי IT חייבים להכיר.

2. Deep Technical Architecture

  • לוגיקת ה-Migration Assistant והפרדת ה-SSV:
  • כלי ה-Migration Assistant ממפה ומעביר אך ורק את נתוני ה-Data Volume (תיקיות /Users/ ו-/Applications).
  • הכלי לעולם אינו מעתיק את מערכת ההפעלה (ה-SSV). המחשב החדש שומר על ה-SSV הנקי והחתום שלו.
  • מלכוד התנגשות ה-UIDs (The UID Collision Trap):
  • מערכת macOS מקצה מזהה משתמש מספרי ייחודי לכל חשבון (המשתמש הראשון מקבל UID 501, השני 502 וכו').
  • אם טכנאי מקים משתמש זמני בשם admin (UID 501) במק החדש, ולאחר מכן מפעיל את Migration Assistant ומנסה להעביר את החשבון המקורי admin (שאף הוא UID 501), נוצרת התנגשות זהויות חמורה.
  • המערכת תאלץ לשנות את שם המשתמש המיובא או להעביר את הקבצים לתיקיית /Users/Deleted Users/, מה ששובר הרשאות גישה ו-Keychains.
  • כלי ה-CLI softwareupdate — מיתוסים מול מציאות:
  • דף העזרה הרשמי (man softwareupdate) אינו מעודכן מזה למעלה מעשור (עדיין מכיל אזכורים לקושחת EFI ועדכוני 2012).
  • בפועל, פקודת softwareupdate -i -a מבצעת את אותה קריאת API שמבצע ה-GUI, אך דורשת sudo כדי להחיל את העדכון בפועל במחשבי Apple Silicon.
  • הפקודה --fetch-full-installer היא כלי רב-עוצמה המאפשר לטכנאים להוריד קובץ התקנה מלא (Universal Mac Assistant - UMA) לצורך הכנת כונני התקנה חיצוניים (Bootable USB Installers).

3. Terminal Commands, Plists & Logs

  • מסוף הפקודות (Terminal):
  • הורדת מתקין מלא לגרסה ספציפית: softwareupdate --fetch-full-installer --full-installer-version 26.3
  • מניעת כניסת המחשב למצב שינה במהלך הורדה ארוכה: caffeinate -dimsu softwareupdate -d -a &
  • אימות וביטול רישום שירותי Rosetta 2 תקועים: pkgutil --forget com.apple.pkg.RosettaUpdateAuto
  • Plists & Logs:
  • לוג ההתקנות המלא של ה-Migration Assistant: /var/log/install.log.
  • מעקב אחר שירות ההגירה ב-ULS: log show --predicate 'process == "Migration Assistant" or subsystem == "com.apple.migration"' --last 4h

4. Edge Cases & Troubleshooting Playbook

  • סולם פתרון התקלות המלא לעדכוני תוכנה (The Troubleshooting Ladder):
  • שלב 1 (איפוס שירות ורשת): איפוס תהליך העדכון ע"י sudo killall softwareupdated, ובדיקת תקשורת לפורט 443 ב-swscan.apple.com ו-gs.apple.com.
  • שלב 2 (פינוי שטח ו-Snapshots): הרצת tmutil thinlocalsnapshots / 10000000000 4 כדי לאלץ את deleted(8) לשחרר נפח Purgeable שנחסם ע"י גיבויים ישנים.
  • שלב 3 (ניקוי תיקיות Staging תקועות): אתחול למצב Safe Mode. פעולה זו מוחקת אוטומטית מטמוני הורדה פגומים מ-/System/Library/AssetsV2/ ומאפשרת הורדה נקייה מחדש.
  • שלב 4 (In-Place Reinstall מ-Recovery): כניסה ל-1TR (לחיצה ממושכת על כפתור ההפעלה) ובחירה ב-Reinstall macOS. המערכת מושכת SSV שלם ונקי, חותמת אותו מחדש, ומתקנת את מערכת ההפעלה מבלי לגעת בנתוני המשתמשים.
  • שלב 5 (DFU Revive באמצעות Apple Configurator): במקרי קיצון של כשל קושחה חמור שבו המק נכנס ל-Boot Loop ואינו מגיע למסך ה-Options, חיבור המק בכבל USB-C למק מארח והרצת Revive משכתבת מחדש את ה-Boot ROM וה-RecoveryOS מבלי לפרמט את זיכרון ה-NAND.

4. תיבול ארגוני: ניהול ציי מק עם Declarative Device Management (DDM) ו-Bootstrap Token

1. High-Level Theory & History

ניהול עדכוני תוכנה בארגונים עבר שלוש מהפכות מרכזיות:

┌─────────────────────────────────────────────────────────────────────────────────┐
│                 Evolution of Apple Enterprise Update Management                 │
└─────────────────────────────────────────────────────────────────────────────────┘
  Phase 1: Legacy SUS / Reposado (OS X 10.4–10.11)
  Local Software Update Server hosted internally. Obsolete because it breaks SSV Personalization.
                                │
                                ▼
  Phase 2: Legacy MDM Command-Poll (macOS 10.12–13)
  Server sends ScheduleOSUpdateCommand (InstallASAP). Fragile, polling-dependent, easily deferred.
                                │
                                ▼
  Phase 3: Modern DDM - Declarative Device Management (macOS 14–26+)
  Server declares target state. The Mac autonomously enforces deadlines in local time with Bootstrap Token.

בעידן ה-MDM הקלאסי (Phase 2), השרת היה שולח פקודות כמו ScheduleOSUpdateCommand עם דגלי InstallASAP או DownloadOnly. תהליך זה היה שברירי: אם המק היה במצב שינה או מנותק מהרשת ברגע שליחת הפקודה, העדכון לא התבצע. בנוסף, המשתמש יכול היה להמשיך ולדחות את העדכון שוב ושוב.

כיום, החל מ-macOS 14 ומלוטש ב-macOS 26 Tahoe, הסטנדרט המוביל הוא Declarative Device Management (DDM) בשילוב ה-Bootstrap Token לניהול אוטונומי ושקט.

2. Deep Technical Architecture

  • הכרזת עדכון תוכנה (com.apple.configuration.softwareupdate.enforcement.specific):
  • זוהי תצורת ה-DDM המרכזית. היא כוללת שלושה שדות קריטיים:
    1. TargetOSVersion — גרסת היעד (למשל 26.3).
    2. TargetBuildVersion — מספר ה-Build המדויק (למשל 25D123).
    3. TargetLocalDateTime — תאריך ושעת יעד קשיחים (למשל 2026-11-15T18:00:00).
  • אכיפה לפי אזור זמן מקומי (Local Enforcement Timelines):
  • השעה מוגדרת ביחס לשעון המקומי של המכשיר. בארגון גלובלי עם סניפים בטוקיו, לונדון וניו-יורק, אותה הכרזה של 18:00:00 תיאכף בכל מדינה בשעה שש בערב המקומית שלה.
  • ה-Bootstrap Token בניהול ארגוני (Silent Non-Admin Updates):
  • בארגונים שבהם העובדים מוגדרים כמשתמשי Standard ללא הרשאות אדמין, ה-MDM מפקיד Bootstrap Token ב-Secure Enclave בעת ה-Enrollment.
  • בעת הפעלת אכיפת DDM, המק מושך את ה-Bootstrap Token מה-MDM ומאשר את עדכון ה-LocalPolicy והקושחה באופן שקט לחלוטין וללא בקשת סיסמה מהמשתמש.
  • מדרג ההתראות וחוויית המשתמש (Progressive Escalation):
  • שלב 1 (הכנה שקטה): המק מוריד ומכין את העדכון ברקע.
  • שלב 2 (התראות מתונות): ימים לפני הדדליין, מופיעות התראות יומיות לבחירת מועד אתחול.
  • שלב 3 (ספירה לאחור של שעה): 60 דקות לפני הדדליין, מופיעה התראה קבועה עם שעון ספירה לאחור שלא ניתן לסגור.
  • שלב 4 (אתחול כפוי ואוטונומי): בהגיע שעת ה-0, המערכת סוגרת אפליקציות, שומרת מסמכים תומכי Auto-Save, ומבצעת Reboot כפוי בעזרת ה-Bootstrap Token.
  • ניהול השהיות מדורג (Software Update Deferrals - עד 90 יום):
  • ב-macOS Tahoe קיימת הפרדה מדויקת בין שלושה טיימרים עצמאיים:
    1. Major OS Deferral — השהיית שדרוג דור (למשל מעבר מ-macOS 26 ל-27) עד 90 יום לבדיקת תאימות.
    2. Minor OS Deferral — השהיית עדכונים מינוריים (למשל 26.2 ל-26.3).
    3. Non-OS Deferral — השהיית עדכוני אפליקציות מערכת (כמו Safari ו-BSI).
  • שימוש ב-Content Caching בארגון (AssetCacheServices): יירוט הורדות Pallas וניתובן לשרת מטמון מקומי ב-LAN לחסכון ברוחב פס.
  • המלצת התעשייה להגירות — Cloud-Native Ephemeral Devices:
  • בארגוני Zero-Trust מודרניים, הגישה המועדפת היא הימנעות מוחלטת מ-Migration Assistant.
  • המק החדש נפרס ב-Zero-Touch מול ה-MDM, והמידע מסתנכרן מענן ארגוני (OneDrive / Google Drive).

3. Terminal Commands, Plists & Logs

  • מסוף הפקודות (Terminal):
  • בדיקת סטטוס ה-Bootstrap Token: sudo profiles status -type bootstraptoken
  • הפקדה יזומה של Bootstrap Token: sudo profiles install -type bootstraptoken
  • הצגת פרופילי התצורה וההכרזות המותקנות: sudo profiles show -type configuration
  • ניקוי מקומי של השהיות MDM: sudo softwareupdate --clear-deferrals
  • אילוץ רענון של תהליך הניהול מול ה-MDM: sudo launchctl kickstart -k system/com.apple.managedclient
  • Plists & Storage:
  • קובצי ההכרזות של DDM מאוחסנים ב-/Library/Application Support/com.apple.mdmclient/.
  • פרופילי הגבלות נשמרים ב-/Library/Managed Preferences/com.apple.applicationaccess.plist.
  • Logs & ULS:
  • מעקב אחר מנוע ה-DDM: log show --predicate 'subsystem == "com.apple.declarative" or process == "declaratived"' --info --last 2h
  • מעקב אחר מנהל ההתראות של העדכונים: log show --predicate 'process == "SoftwareUpdateNotificationManager"' --last 1h
  • מעקב אחר משיכת Bootstrap Token: log show --predicate 'subsystem == "com.apple.managedclient" and eventMessage CONTAINS "bootstraptoken"' --last 24h

4. Edge Cases & Troubleshooting

  • Edge Case - כשל עדכון אוטומטי ב-MDM עקב היעדר Bootstrap Token: שרת ה-MDM שולח פקודת עדכון למק המופעל ע"י Standard User, אך הפקודה נכשלת עם שגיאת Authentication failed: Volume ownership required.
  • Troubleshooting: המחשב צורף ל-MDM בצורה ידנית ללא יצירת Bootstrap Token. יש להריץ sudo profiles install -type bootstraptoken בעזרת חשבון מנהל בעל Secure Token.
  • Edge Case - התנגשות בין הכרזות DDM מרובות: מנהל רשת שלח בטעות שתי הכרזות לקבוצות שונות (למשל: עדכון ל-26.2 עד 1 באוקטובר, ועדכון ל-26.3 עד 5 באוקטובר).
  • Troubleshooting: מנוע ה-DDM המקומי מעדיף תמיד את הדדליין המוקדם ביותר ואת הגרסה הגבוהה ביותר התואמת.
  • Edge Case - דדליין שחלף כשהמחשב היה כבוי (Missed Deadline): מחשב שהיה סגור בתיק במהלך סוף שבוע שבו פג הדדליין.
  • Troubleshooting: עם הדלקת המחשב וחיבורו לחשמל ולאינטרנט, ה-DDM מזהה שהמצב המוצהר לא הושג. המערכת מקפיצה התראת "Past Due", מורידה ומכינה את העדכון, ומקצה חלון חסד של שעה אחת בלבד לפני ביצוע אתחול כפוי.

עזרים ויזואליים

המחשה ויזואלית (עזר לתלמיד)

תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.

How_Software_Update_works_in_Ventura_p5_37 What_should_you_do_when_an_update_goes_wrong_p1_41 Slide76_image16 Slide76_image44 Slide76_image90 Slide76_image91 Slide76_image92 Slide77_image17