שיעור 06: מערכת הקבצים (APFS)¶
מדריך העברה למרצה
1. מהפיכת APFS (The APFS Revolution)¶
🎯 מטרת החלק: הסטודנטים יבינו את הארכיטקטורה של APFS, בדגש על יתרונות ה-Containers ושיתוף מקום פנוי, וכיצד היא מחליפה את שיטות ה-Partitioning הישנות.
זהו השיעור שמשנה את האינטואיציה הבסיסית של אנשי IT שהגיעו מווינדוס. "מחיצה" שכולם מכירים — נעלמת. הנקודה שחייבת לצאת מהחלק הזה היא שמכולה (Container) היא בריכה, לא קופסה. כדאי לפתוח עם השאלה: "מי מכם נתקל פעם בהודעה שיש מקום בדיסק אבל Partition מלא?" — רוב הכיתה תרים יד. זה הרגע לומר: "זו בדיוק הבעיה שאפל פתרה ב-2017."
🎤 הרצאה¶
- זיכרון העבר (Partitions מול APFS):
- בעבר חילקנו דיסק קשיח למחיצות קשיחות (HFS+ ואפילו MFS ההיסטורית מלפני 40 שנה).
- הוקצה מקום מוגדר מראש לכל מחיצה. טעות בהערכה דרשה גיבוי, מחיקה והתחלה מחדש.
- המהפכה של APFS (2017):
- החלפת מחיצות קשיחות ב-Containers (מכולות).
- המכולה: בריכה ענקית של מקום אחסון שמנהלת את השטח לכל מה שבתוכה.
- ה-Volumes (כרכים): יחידות האחסון שבתוך המכולה. הם גדלים ומתכווצים דינמית.
- כל הכרכים באותה מכולה חולקים בדיוק את אותו המקום הפנוי.
- הקסם של Copy-on-Write (CoW) ו-Clones:
- איך המערכת מונעת שחיתות נתונים (Data Corruption)? שינויים נכתבים תמיד לבלוקים חדשים, ורק אז מעדכנים את המצביע.
- שכפול קובץ עצום לוקח שבריר שנייה ולא תופס מקום נוסף! זהו ה-Clone. מקום חדש נתפס רק כאשר העותק משתנה.
← שיעור 07 (Backup): מנגנון ה-Clone ישרת אותנו שוב — Time Machine כולו בנוי עליו, שם הוא נקרא Delta Clone. כשתגיעו לשיעור 07 כדאי להזכיר את הרגע הזה.
Instructor Deep-Dive: מקרי קצה ו-fsck_apfs
- קריסות ו-fsck_apfs:
- לאחר קריסה, המערכת מריצה
fsck_apfsברקע, מה שיכול להיראות כתקיעה על לוגו התפוח. - שגיאות מול אזהרות: אזהרות (Warnings) יכולות להיות שוליות, אך שגיאות (Errors) המציינות מספר Inode דורשות תיקון.
- Failure to unmount: שגיאה נפוצה מאוד ב-Disk Utility בעת בדיקת כונן חי. הפתרון: לאתחל למצב Recovery ולהריץ First Aid משם, היכן שכונן ה-Data אינו בפעולה.
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L06_LegacySlide_Slide107_image35.jpg |
השוואת מחיצות ישנות מול Container/Volume ב-APFS |
📸 L06_LegacySlide_Slide115_image38.jpg |
דיאגרמת מבנה Container |
📸 L06_TahoeUI_26-Tahoe-Disk-Utility-scaled.png |
Disk Utility ב-Tahoe |
נתיב: ../assets/images/Lesson_06/
🖥️ הדגמה¶
- Terminal — מבנה ה-Container:
- פתח Terminal והקלד:
diskutil list - הצבע על ה-Container הראשי (למשל
disk3) - הראה את הכרכים תחתיו:
System,Data,Preboot,Recovery,VM -
הדגש: כל הכרכים חולקים את אותו המקום הפנוי של ה-Container
-
Disk Utility — יצירת Volume:
- הצג יצירת Volume חדש בלחיצת כפתור
(+) - הראה כיצד ניתן להגדיר Quota או Reserve כדי למנוע מצב שכרך אחד גוזל את כל המקום
2. הפרדת המערכת (SSV)¶
🎯 מטרת החלק: הסטודנטים ילמדו על הפרדת מחיצת המערכת ממחיצת המידע, מנגנון ה-SSV (Signed System Volume), פתרון בעיות כוננים יתומים ותפקידם של ה-Firmlinks.
זוכרים את FileVault משיעור 04? SSV הוא השכן הקריפטוגרפי שלו — FileVault מצפין את הנתונים, SSV חותם את המערכת עצמה. ביחד הם יוצרים שכבת הגנה כפולה.
כאן אנחנו מסבירים למה "Macintosh HD" ב-2025 הוא בעצם שתי תיקיות שמתחזות לאחת. הנקודה הארגונית הכי חשובה: לא ניתן לכתוב לכונן המערכת — וזה לא באג, זו תכונה. איש IT שמנסה "לתקן" בעיה על ידי שינוי קובץ מערכת — יתקל בחסימה מוחלטת. כדאי לשאול: "מה אתם חושבים שקורה אם תנסו ליצור קובץ ב-/System?"
🎤 הרצאה¶
- ההיסטוריה (Macintosh HD):
- פעם, קבצי מערכת ומשתמש חיו יחד. וירוסים או טעות משתמש יכלו להשחית קבצים קריטיים.
- השינוי (Catalina / Big Sur ואילך):
- פיצול המערכת ל-System Volume (מערכת) ו-Data Volume (מידע).
- System Volume: נעול הרמטית (Read-Only) וחתום קריפטוגרפית (SSV). אף אחד לא יכול לשנות בו בייט.
- Firmlinks (חורי תולעת):
- כדי לשמור על חוויית משתמש אחידה, Firmlinks תופרים את שתי המחיצות יחד.
- ה-Finder מציג אותן ככונן יחיד (Macintosh HD).
← שיעורים 13 ו-14 (Boot Process ו-Recovery): SSV יחזור שם — ב-13 נראה כיצד המערכת עולה מתוך Snapshot חתום, ב-14 נראה כיצד SSV מגביל מה ניתן לשחזר ומה לא.
Instructor Deep-Dive: Secure Boot ו-Orphaned Volumes
- Boot מתוך Snapshot:
- המערכת למעשה מבצעת אימות קריפטוגרפי בזמן הדלקה ועולה מתוך תמונת מצב (Snapshot) קשיחה.
- Edge Case — Orphaned Data Volume:
- תופעה שבה נוצר נתק בין ה-System ל-Data (לעיתים לאחר שחזור שגוי). המשתמש רואה כונן בשם
Macintosh HD - Dataשתופס מקום אך אינו מחובר. הפתרון לרוב דורש גיבוי, מחיקת קבוצת הכרכים (Volume Group) ב-Recovery, והתקנה נקייה.
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L06_LegacySlide_Slide115_image39.jpg |
דיאגרמת System Volume מול Data Volume |
📸 L06_DeepDive_How_macOS_depends_on_firmlinks_p1_24.jpeg |
מפת Firmlinks — שכבה 1 |
📸 L06_DeepDive_How_macOS_depends_on_firmlinks_p1_25.jpeg |
מפת Firmlinks — שכבה 2 |
נתיב: ../assets/images/Lesson_06/
🖥️ הדגמה¶
- הצגת מחיצות ב-Terminal:
- הרץ:
mount -
הראה את שורת ה-System (
/) שהיאread-only, ואת/System/Volumes/Dataהפתוחה לכתיבה -
הדגמת חסימת כתיבה:
- הרץ:
sudo touch /System/test.txt -
הראה את הודעת השגיאה: "Read-only file system"
-
חשיפת ה-Firmlinks:
- הרץ:
cat /usr/share/firmlinks - הצג את "התפרים" שמחברים את המערכת
3. מרחבי מערכת הקבצים (File System Domains)¶
🎯 מטרת החלק: הסטודנטים יבינו את החלוקה הווירטואלית של מערכת הקבצים למרחבים (User, Local, Network, System) וילמדו כיצד לאבחן תקלות הרשאות בסביבה מרובת משתמשים.
בשיעור 05 ראינו ש-Sandbox שומר את נתוני האפליקציה ב-
~/Library/Containers. השאלה שלא ענינו עליה שם: מה זה בכלל~? ולמה יש~/Libraryו-/Libraryשונים? זה בדיוק מה שנסביר עכשיו.
הנושא הזה הכי קל להסביר עם אנלוגיה פיזית. תרחיש הפונטים (משתמש שמתקין פונט ורק הוא רואה אותו) הוא ה-Case הכי שכיח בשטח ושאנשי IT פוגשים כל שבוע. שווה לעצור ולשאול: "מי מכם ראה מצב כזה?"
🎤 הרצאה¶
- למה צריך מרחבים?
- דמיינו בניין: המשרד האישי (User), הלובי המשותף (Local), וחדר השרתים הנעול (System).
- ארבעת המרחבים:
- User Domain (
~): המרחב האישי שלכם. שליטה מלאה ללא סיסמת Admin. - Local Domain (
/Libraryאו/Applications): משותף לכל המשתמשים ב-Mac. דורש Admin לשינויים. - Network Domain: משאבי רשת בארגון.
- System Domain (
/System): נעול הרמטית. אין כניסה. - תרחיש ארגוני קלאסי (Edge Case):
- משתמש התקין פונט, אך חבר שעשה Login לאותו Mac לא רואה אותו. למה?
- כי הפונט הותקן ב-User Domain (
~/Library/Fonts). כדי שיהיה זמין לכולם, יש להעבירו ל-Local Domain (/Library/Fonts).
Instructor Deep-Dive: קדימויות קריאה
- תוכנות תמיד יחפשו קודם ב-User Domain, ולאחר מכן ב-Local Domain, מה שמאפשר למשתמש בודד לדרוס הגדרה גלובלית עם קובץ מקומי משלו מבלי לפגוע באחרים.
🖥️ הדגמה¶
- ניווט ב-Finder (GUI):
- פתח Finder → תפריט
Go→ החזקOption→ הצג את Library האישית (~/Library) - השווה לתיקיית
/Libraryב-Finder:Cmd+Shift+G←/Library -
הראה: שתי תיקיות עם אותו שם — מיקומים שונים, הרשאות שונות
-
ניווט ב-Terminal:
cd ~— חזרה לתיקיית הביתcd /Library— ה-Local Domain המשותף
4. מנוע החיפוש Spotlight¶
🎯 מטרת החלק: הסטודנטים יכירו את מנגנון הקיטלוג (Indexing) של Spotlight, ילמדו לפתור בעיות דיווח נפח שגוי (System Data), ויבינו את ההשפעה של תהליכי רקע מתקדמים כמו Live Text.
Spotlight הוא אחת מהתלונות הכי שכיחות שמגיעות ל-Help Desk: "המחשב איטי" / "System Data תופס 200GB" / "לא מוצא קובץ שיצרתי". בכל אחד מהמקרים האלה — הסיבה היא אותו דבר. הנקודה שחייבת לצאת: אינדקס מושחת = איפוס. לא "מחיקת קבצים", לא "ריסטארט". תהליך ה-Rebuild הוא המשחק.
🎤 הרצאה¶
- ה-Spotlight כליבת המערכת:
- מנוע חיפוש שמניע הכל — מקבצים ב-Finder, דרך המיילים ועד לתצוגת שטח האחסון ("About This Mac").
- איך זה עובד?
- אינו סורק בזמן אמת, אלא מבוסס על אינדקס סמוי (
.Spotlight-V100). - תהליכי עזר (
mdworkerבעזרת פלאגינים הנקראיםmdimporter) קוראים קבצים ברקע ומוסיפים אותם לקטלוג. - כשהדברים משתבשים:
- אם ה-System Data תופס כביכול טרה-בייט, או שקבצים ידועים לא נמצאים בחיפוש, האינדקס כנראה מושחת. הפתרון הוא לאלץ את המערכת לבנות אותו מחדש.
Instructor Deep-Dive: Sequoia ו-Runaway Indexing
- Live Text ואנליזת תמונות:
- בגרסאות עדכניות, Spotlight מריץ תהליכים כמו
photoanalysisdלפענוח טקסט מתמונות (OCR). - Runaway Indexing:
- תהליך זה דורש עיבוד רב (מופנה לליבות ה-Efficiency במעבדי Apple Silicon). עשוי לקחת ימים לאחר עדכון גדול. הפתרון הטוב ביותר: לתת לזה לרוץ ללא הפרעה, אלא אם מזהים קובץ ספציפי שתוקע את המערכת (ניתן לבידוד ב-Safe Mode).
🔗 עזרים ויזואליים¶
| עזר | מה מראה |
|---|---|
📸 L06_TahoeUI_26-Tahoe-Spotlight-scaled.png |
ממשק Spotlight ב-Tahoe |
📸 L06_TahoeUI_26-Tahoe-Spotlight-Action-scaled.png |
Spotlight בפעולה |
נתיב: ../assets/images/Lesson_06/
🖥️ הדגמה¶
- זיהוי תהליכים ב-Activity Monitor:
-
חפש תהליכי
md(mds,mdworker) כדי להראות את המנוע בפעולה -
מחיקת אינדקס מה-GUI:
System Settings → Siri & Spotlight → Spotlight Privacy-
הדגם: הוספה והסרה של כונן מוחקת ובונה מחדש את האינדקס
-
Terminal:
sudo mdutil -E /— אותה פעולה בשורת פקודה
5. תיבול ארגוני (Enterprise Seasoning)¶
🎯 מטרת החלק: הסטודנטים יבינו כיצד ארכיטקטורות ה-SSV וה-APFS משנות את חוקי המשחק עבור כלי אבטחה (Antivirus, DLP) וניהול ארגוני (MDM).
זה החלק שגורם לאנשי IT ותיקים לעצור ולומר "וואו, לא ידעתי". כלים שעבדו מצוין על Windows — יכולים לגרום ל-Kernel Panic על Mac עם Firmlinks. זה לא תיאורטי: זה קורה בשטח כל שבוע. הנקודה המעשית: לפני פריסת כל AV/DLP ארגוני — חובה להגדיר Exclusions לנתיבי מערכת.
🎤 הרצאה¶
- התנגשות בין כלים ישנים למערכת חדשה:
- בעבר, אנטי-וירוס היה סורק את כל קבצי המערכת באופן רציף. כיום, הודות ל-SSV הנעול והחתום, אין בזה צורך! זהו אזור מוגן וסריקה שלו היא בזבוז משאבים (I/O).
- מלכודות ה-Firmlinks:
- כלי תוכנה מיושנים שמנסים לסרוק את כל הכוננים עלולים להיכנס ללולאה (Loop) אינסופית בגלל ה-Firmlinks, מה שעלול לגרום ל-Kernel Panics.
- הפתרון במחלקת ה-IT:
- חובה להחריג (Exclude) את תיקיות הליבה של ה-System מתוכנות האבטחה (On-Access Scans).
- בעת כתיבת סקריפטי הפצה, יש להשתמש בנתיבים מבוססי Firmlinks מאושרים (כמו
/usr/local/במקום ה-/usr/bin/הנעול).
Instructor Deep-Dive: עדכוני סוכנים (Agents)
- כלי DLP ו-AV מודרניים המעודכנים ל-Tahoe/Sequoia יודעים לזהות Firmlinks ולהימנע מהם. חשוב תמיד להדגיש בפני טכנאים בארגון לשמור על גרסאות סוכני האבטחה מעודכנות, שכן תקלות רבות (כמו "המק קורס") נובעות מסוכן ישן שמתנגש עם חוקי ה-SSV הנוקשים של Apple.
🖥️ הדגמה¶
- אימות סטטוס SSV:
- הרץ בטרמינל:
csrutil authenticated-root status - הראה שהסטטוס הוא
enabled - הסבר: "זה האישור הרשמי שאפשר לומר ל-CISO שלכם — כונן המערכת חתום קריפטוגרפית. אין צורך לסרוק אותו."
סיום שיעור 6: ודא שהתלמידים מבינים את ההבדל בין Container ל-Volume, ואת חשיבות ה-SSV לסביבה ארגונית. המעבדה (Asset D) תיתן להם ניסיון ישיר עם יצירת Volume, הדגמת Clone, ואיפוס Spotlight — כל אחד מהם כלי שישרת אותם בשטח.