שיעור 12: עדכונים ושדרוגים¶
חלק ב': מדריך העברה למרצה
הערה למדריך: מסמך זה משמש כמערך השיעור (Lesson Plan) וכולל את התסריט להעברת החומר מול הכיתה, תרחישי הדגמה, ומידע טכני מורחב שיעזור לך להתמודד עם שאלות קשות. שמור על טון שיחתי (Conversational), נגיש ומעשי, כפי שהוגדר בפרוטוקול הקורס. ההדגמות מבוססות על ממשק המשתמש הגרפי (GUI) במחשב עצמאי (Standalone), בעוד פקודות ה-Terminal ותרשימי ה-MDM מתוך המצגת משמשים להעמקה מאחורי הקלעים.
1. ארכיטקטורת העדכונים המודרנית ב-macOS (The Modern Update Architecture & Pipeline)¶
🎯 מטרת החלק: התלמידים יבינו את מנגנון העדכונים מקצה לקצה ב-macOS 26, את ההבדל בין Update ל-Upgrade, וכיצד שרשרת התהליכים (FSM, Pallas, Streaming Decompression, ו-UpdateBrain) מייצרת Snapshot חדש וחתום של ה-SSV ללא זמן השבתה ארוך.
אנשי IT ותיקים זוכרים את הימים שבהם עדכון מק שנקטע באמצע דרש התקנת "Combo Update" או שהשאיר את המחשב מושבת. הדגישו בפני הכיתה את מהפכת ה-SSV: ב-macOS Tahoe, מערכת ההפעלה אינה נוגעת בקבצים הקיימים בזמן פעולת המשתמש. היא מרכיבה את העדכון כולו ברקע, פורסת אותו כזרם (Stream), וחותמת אותו קריפטוגרפית. זמן ההשבתה (Downtime) היחיד הוא האתחול הקצר שבו המק פשוט משנה את מצביע הבוט ל-Snapshot החדש.
← בשיעור 06 ובשיעור 07 ראינו את מנגנון ה-APFS Snapshots וה-SSV — כאן רואים כיצד מערכת העדכונים נשענת על מנגנונים אלו כדי לאפשר עבודה רציפה ללא חשש מקריסה.
🎤 הרצאה¶
- שאלת פתיחה לכיתה:
- "כמה פעמים שמעתם משתמשים אומרים 'עשיתי שדרוג למק' כשהם בסך הכל התקינו עדכון אבטחה של 50 מגה-בייט?"
- Update מול Upgrade — ההבחנה המקצועית:
- Update (עדכון): תיקון נקודתי וטלאי אבטחה בתוך אותה גרסה (למשל מ-26.2 ל-26.3).
- Upgrade (שדרוג): קפיצת דור ראשית (למשל מ-macOS 26 ל-27) עם שינויי ליבה ופיצ'רים חדשים.
- איך זה עובד מתחת למכסה המנוע ב-macOS 26?
- 1. שאילתת Pallas: המק פונה לשרת העדכונים של אפל ומקבל קטלוג התואם את הדגם והרשאות הבטא.
- 2. חישוב שטח מקדים (
CalculatePrepareSize): המערכת מריצה בדיקה דקדקנית ומוחקת קבצי מטמונים ישנים בעזרתdeleted(8)כדי לוודא שיש מקום ל-Snapshot הכפול. - 3. הזרמה וחילוץ בזמן אמת: קובץ ה-Zip נפרק תוך כדי הורדה ללא המתנה נוספת.
- 4. מנוע ה-UpdateBrain: שירות עצמאי שבונה את תמונת ה-SSV החדשה, מעדכן את ה-RecoveryOS ואת Rosetta 2 ברקע.
- 5. חתימה אישית (Personalization): ה-Mac שולח את ה-ECID שלו לשרת
gs.apple.comומקבל חותמת קריפטוגרפית בלעדית.
- התוצאה:
- המשתמש ממשיך לעבוד כרגיל בזמן שהמערכת נבנית.
- האתחול בסוף אורך דקות ספורות בלבד!
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L12_DeepDive_How_Software_Update_works_in_Ventura_p5_37.jpeg |
דיאגרמת ה-Pipeline וארכיטקטורת ה-SSV בעדכוני macOS |
📸 L12_LegacySlide_Slide76_image16.jpg |
תצוגת ממשק Software Update ב-System Settings |
🖥️ הדגמה¶
- שלב 1: פתחו את
System Settings > General > Software Update. - שלב 2: הראו כיצד הממשק בודק זמינות ומציג בנפרד עדכוני Minor ובחלק התחתון שדרוגי Major (למניעת שדרוג בשוגג).
- שלב 3: לחצו על כפתור המידע (
i) לצד Automatic Updates והראו את ההפרדה בין הורדה, התקנת עדכוני מערכת, והתקנת עדכוני אבטחה ברקע (BSI).
Instructor Deep-Dive: ה-Finite State Machine וה-UpdateBrain
- ארכיטקטורת FSM: תהליך העדכון ב-macOS 26 מנוהל כ-Finite State Machine דטרמיניסטי למניעת מצבי ביניים שבורים.
- שירות ה-UpdateBrain: הקוד שמבצע את ההתקנה בפועל אינו חלק ממערכת ההפעלה הקבועה, אלא יורד כחלק מה-Payload תחת השם
UpdateBrainService. - סינכרון RecoveryOS: ה-UpdateBrainService מריץ שירות מקביל ייעודי לעדכון מערכת ה-Recovery (
RecoveryOS UpdateBrain), מה שמבטיח שגרסת ה-RecoveryOS תמיד תישאר מסונכרנת (Paired) ל-macOS. - תקורת שטח: בדיקת השטח דורשת פי 2 מגודל המחיצה לצורך ה-Snapshot המקביל, ובנוסף תקורה של 1.2x עבור ה-App Cryptex.
2. אבטחה, הרשאות וחומרה ב-Apple Silicon (Volume Ownership & Cryptexes)¶
🎯 מטרת החלק: התלמידים יכירו את מנגנון ה-Volume Ownership ב-Apple Silicon, יבינו מדוע משתמשי Standard יכולים לעדכן ב-GUI אך לא בטרמינל, ויכירו את טכנולוגיית ה-Cryptex ו-Background Security Improvements.
זהו אחד ממושגי הליבה הקריטיים ביותר לכל מי שמנהל מחשבי Mac בארגון. ב-Intel, פקודת sudo עשתה הכל. ב-Apple Silicon, נדרשת חתימת חומרה של Secure Token ב-Secure Enclave. הסבירו מדוע כל משתמש Standard יכול לעדכן ב-GUI (החל מ-12.3) אך לא בטרמינל, וכיצד מנגנון ה-Cryptex מאפשר הזרקת עדכוני אבטחה ללא בניית SSV מחדש.
← בשיעור 04 (הצפנה) למדנו על ה-Secure Token וה-Keybag — כאן אנו רואים כיצד מנגנון ה-Volume Ownership מגן על החלת עדכונים.
🎤 הרצאה¶
- מי רשאי לעדכן?
- במחשבי Intel, כל מי שהיה לו אדמין יכל לעדכן.
- ב-Apple Silicon המצב שונה לחלוטין: החומרה דורשת אימות של Volume Owner.
- הרשאות GUI מול CLI:
- החל מ-macOS 12.3, אפל מאפשרת לכל משתמש Standard מקומי לעדכן דרך ממשק ה-System Settings — בתנאי שיש לו Secure Token.
- אבל, הפעלת קובץ התקנה מלא (UMA) או פקודות טרמינל דורשות Local Admin.
- טכנולוגיית ה-Cryptex ו-Background Security Improvements (BSI):
- במקום עדכוני RSR ישנים ומסורבלים, ב-macOS Tahoe אפל משתמשת ב-Cryptex — אימג' מוצפן ש"מולבש" מעל ה-SSV בעת הבוט.
- תיקון פרצת Safari/WebKit דורש רק עדכון Cryptex קטן ללא בנייה מחדש של ה-SSV כולו.
- במקרה של בעיית תאימות, ביטול ה-BSI מחזיר את המערכת למצבה הקודם מיידית (Rollback).
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L12_LegacySlide_Slide76_image90.png |
תרשים אימות Token והרשאות עדכון ב-Apple Silicon |
📸 L12_LegacySlide_Slide76_image44.jpeg |
חלון ניהול Background Security Improvements ב-GUI |
🖥️ הדגמה¶
- שלב 1: הראו את בדיקת ה-Secure Token של המשתמש בטרמינל:
sysadminctl -secureTokenStatus $(whoami) - שלב 2: פתחו
System Settings > Privacy & Security > Advanced(או בלחיצה על כפתור ה-iליד גרסת ה-macOS ב-About). - שלב 3: הראו את מתג ה-Background Security Improvements והסבירו את כפתור ה-Remove במקרה של תקלת תאימות.
Instructor Deep-Dive: מבנה ה-Cryptex וה-LocalPolicy
- שמירה ב-Preboot: ה-Cryptexes מאוחסנים ב-
/System/Volumes/Preboot/Cryptexes/ומורכבים בשכבה עילית. - אישור LocalPolicy: ב-Apple Silicon, כל שינוי בעץ האתחול מחייב חתימת LocalPolicy ב-Secure Enclave.
- מנגנון Rollback: בעת Rollback, המערכת אינה מוחקת קבצים אלא פשוט מדלגת על טעינת ה-Cryptex באתחול.
3. כלי ה-CLI softwareupdate, ה-Migration Assistant ומדריך תקלות (Tools & Recovery Playbook)¶
🎯 מטרת החלק: התלמידים ילמדו להשתמש בכלי ה-CLI להורדת מתקינים מלאים (UMA), יכירו את המלכודות ב-Migration Assistant (התנגשויות UIDs ומעבר ל-Cloud-Native), וישלטו בסולם פתרון התקלות המלא של אפל.
ספקו כלים פרקטיים לשורת הפקודה ופתרון בעיות אמיתיות מהשטח. הסבירו מדוע העברה עיוורת דרך Migration Assistant עלולה לפגוע ביציבות המק, ומדוע Reinstall macOS מ-Recovery הוא הפתרון המוביל לתיקון מערכת פגומה ללא פגיעה במידע.
← בשיעור 14 (Recovery) נלמד לעומק את מנגנון ה-Reinstall מ-1TR — כאן נסביר מדוע הוא הפתרון האולטימטיבי לעדכון שנתקע.
🎤 הרצאה¶
- שליטה ב-CLI עם
softwareupdate:- הורדת מתקין מלא (Universal Mac Assistant - UMA) לתיקיית Applications:
softwareupdate --fetch-full-installer --full-installer-version 26.3 - שימושי במיוחד להכנת כונני התקנה חיצוניים (Bootable USB).
- הורדת מתקין מלא (Universal Mac Assistant - UMA) לתיקיית Applications:
- הסכנות ב-Migration Assistant בארגונים:
- ב-Apple Silicon אין יותר Target Disk Mode (מקש T) — הוחלף ב-Share Disk ב-Recovery על גבי SMB.
- מלכודת ה-UID Collision: יצירת משתמש זמני
admin(UID 501) והגירת משתמש עם אותו שם גורמת לדריסה או העברה ל-/Users/Deleted Users/. - Dirty Migration: העברת קבצים ישנים מאינטל גוררת LaunchDaemons שבורים שיוצרים עומס מעבד וקריסות.
- הגישה המודרנית: מכשיר בר-חלוף (Cloud-Native Ephemeral Device) — התקנה נקייה מול ה-MDM וסנכרון קבצים מהענן.
- סולם פתרון התקלות בעדכונים (Troubleshooting Ladder):
- 1. איפוס שירות:
sudo killall softwareupdatedובדיקת תקשורת לפורט 443 מולgs.apple.com. - 2. שחרור שטח Purgeable:
tmutil thinlocalsnapshots / 10000000000 4. - 3. ניקוי Staging פגום: אתחול ל-Safe Mode למחיקת מטמוני הורדה תקועים מ-
/System/Library/AssetsV2/. - 4. פתרון מוחלט: כניסה ל-1TR ובחירה ב-Reinstall macOS (משחזר את ה-SSV בלי לפגוע במידע המשתמש!).
- 1. איפוס שירות:
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L12_DeepDive_What_should_you_do_when_an_update_goes_wrong_p1_41.jpeg |
תרשים זרימה לפתרון תקלות עדכון וכשלי אתחול |
📸 L12_LegacySlide_Slide77_image17.jpg |
ממשק ה-Migration Assistant והחרגת אפליקציות והגדרות |
🖥️ הדגמה¶
- שלב 1: הראו סריקת עדכונים בטרמינל:
softwareupdate -l - שלב 2: הראו את פקודת ההורדה של מתקין מלא בטרמינל (עצרו אותה ב-
Ctrl+C). - שלב 3: פתחו את ה-Migration Assistant והראו את מסך הבחירה המאפשר להחריג אפליקציות והגדרות רשת כדי למנוע גרירת זבל ישן.
Instructor Deep-Dive: שימוש ב-caffeinate ושחזור DFU
- מניעת שינה: בהורדת עדכונים גדולים בטרמינל, מומלץ להשתמש ב-
caffeinate -dimsu softwareupdate -d -a &כדי למנוע מעבר של המק למצב שינה באמצע התהליך. - שחזור DFU: במקרה של כשל קושחה מוחלט שבו המחשב תקוע על מסך שחור ואינו נכנס ל-Recovery, יש לחבר אותו בכבל USB-C למק מארח ולהריץ Revive דרך Apple Configurator.
4. תיבול ארגוני: ניהול ציי מק עם Declarative Device Management (DDM) ו-Bootstrap Token¶
🎯 מטרת החלק: התלמידים יבינו את עליונות ה-DDM על פני ה-MDM הישן, כיצד מוגדרים דדליינים מקומיים (Local Timelines) לאכיפה כפויה, כיצד ה-Bootstrap Token מאפשר עדכונים שקטים, וכיצד מנהלים השהיות מדורגות (Deferrals עד 90 יום).
זהו החלק הארגוני המרכזי של השיעור (Enterprise Seasoning). ב-MDM הקלאסי, פקודות נשלחו בשיטת Poll-and-Command שברירית. ב-DDM, המק הופך לאוטונומי ומנהל את הדדליין לפי שעה מקומית. הדגישו את תפקיד ה-Bootstrap Token שפותר את בעיית ה-Volume Ownership ברקע.
← בשיעור 13 (תהליך האתחול) נראה כיצד ה-Bootstrap Token מאפשר ל-MDM לאשר גם שינויי LocalPolicy והרחבות Kexts ברקע.
🎤 הרצאה¶
- איך עדכונים נוהלו בעבר מול הדרך המודרנית כיום?
- העידן הישן (Legacy MDM): השרת שלח פקודה בודדת (
InstallASAP). אם המחשב ישן — הפקודה התפספסה. המשתמש לחץ על 'Later' ומשך זאת שבועות. - העידן המודרני (DDM): ה-MDM שולח הצהרת כוונות (
com.apple.configuration.softwareupdate.enforcement.specific).
- העידן הישן (Legacy MDM): השרת שלח פקודה בודדת (
- מה קורה במחשב כשיש הצהרת DDM?
- המחשב מקבל תאריך ושעה קשיחים: למשל
2026-11-20T18:00:00. - המחשב מוריד ומכין את העדכון בעצמו בשקט ברקע.
- מדרג התראות: תזכורות יומיות מתונות, ספירה לאחור של שעה אחת שאינה ניתנת לסגירה, ובשעת ה-0 אתחול כפוי!
- המחשב מקבל תאריך ושעה קשיחים: למשל
- השימוש ב-Bootstrap Token לעדכון שקט:
- בעת האתחול הכפוי, המק מושך את ה-Bootstrap Token מה-MDM ומאשר את עדכון ה-LocalPolicy באופן שקט ללא צורך בהקשת סיסמת המשתמש.
- מדרג השהיות עדכונים (Software Update Deferrals - עד 90 יום):
- Major Upgrade: השהיה של 60–90 יום לבדיקת תאימות אפליקציות ליבה בארגון.
- Minor Update: השהיה קצרה של 7–14 יום לפריסה מבוקרת.
- Non-OS Updates (Safari / BSI): אפס ימי השהיה — עדכוני אבטחה קריטיים נכנסים מיד!
- Content Caching Server בארגון:
- שירות ה-
AssetCacheServicesמזהה שרת מטמון מקומי ב-LAN ומוריד ממנו את העדכונים במהירות מסחררת ללא עומס על ה-WAN.
- שירות ה-
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L12_LegacySlide_Slide76_image92.png |
התראות DDM Enforcement, סרגל ספירה לאחור ומסכי השהיות ב-MDM |
📸 L12_LegacySlide_Slide76_image91.png |
תרשים ארכיטקטורת Content Caching מקומי בארגון |
🖥️ הדגמה¶
- שלב 1 — בדיקת סטטוס Bootstrap Token במק המקומי:
- הריצו בטרמינל:
sudo profiles status -type bootstraptoken - דגש פדגוגי מנצח למרצה: הצביעו על הפלט המציג
escrowed: NO. הסבירו לכיתה: "רואים? המחשב שבו אנחנו לומדים הוא מחשב עצמאי (Standalone) שאינו מנוהל ב-MDM, ולכן לא הופקד מפתח. במחשב ארגוני המשויך ל-MDM, השורה הזו מציגה YES!".
- הריצו בטרמינל:
- שלב 2 — בדיקת פרופילים מותקנים:
- הריצו:
sudo profiles show -type configurationוהראו שהרשימה ריקה מכיוון שהמק אינו מנוהל.
- הריצו:
- שלב 3 — המלצה פדגוגית למרצה (עזרים ויזואליים):
- הקרינו מתוך העזרים הוויזואליים של השיעור (שקף
L12_LegacySlide_Slide76_image92.png) את צילומי המסך של התראות ה-DDM הארגוניות, סרגל הספירה לאחור בשעה האחרונה, וחלון הגדרות ה-Deferral ב-MDM.
- הקרינו מתוך העזרים הוויזואליים של השיעור (שקף
Instructor Deep-Dive: התנהגות DDM במקרה של מחשב כבוי (Past Due Policy)
- מחשב סגור בדדליין: מה קורה אם מחשב היה כבוי בתיק במהלך סוף השבוע שבו פג הדדליין של ה-DDM?
- סטטוס Past Due: ברגע שהמחשב מודלק ומחובר לחשמל, מנוע ה-
declarativedמזהה שהמערכת בסטטוס Past Due. - חלון חסד של שעה: המערכת מקצה חלון חסד של שעה אחת בלבד, מציגה התראה בולטת עם ספירה לאחור, ומבצעת אתחול כפוי בתום השעה.
עזרים ויזואליים¶
המחשה ויזואלית (עזר לתלמיד)
תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.
