שיעור 06: מערכת הקבצים (APFS)¶
מדריך עזר לתלמיד
מטרות השיעור¶
- APFS Architecture & Dynamic Space Sharing
- System Volume Group (SVG) & Orphaned Volumes
- Firmlinks
- Spotlight Indexing & Live Text
🎧 האזנה לסיכום — לפני או אחרי השיעור¶
מושגי מפתח¶
| מושג | הסבר |
|---|---|
| APFS | מערכת הקבצים המודרנית של Apple. בנויה לביצועים גבוהים, חלוקת מקום דינמית, והגנה על נתונים. |
| Container (מכולה) | מאגר האחסון הראשי ב-APFS שמנהל את השטח הפנוי עבור כל הכרכים שבתוכו. מחליף מחיצות קשיחות. |
| Volume (כרך) | יחידת אחסון לוגית. כרכים חולקים מקום פנוי באופן דינמי ללא צורך להגדיר גודל מראש (Dynamic Space Sharing). |
| Copy-on-Write (CoW) | מנגנון המונע שחיתות נתונים על ידי כתיבת שינויים לבלוקים חדשים לפני עדכון המצביע למידע. |
| Clones (שכפולים) | יצירת עותקים מדויקים באותו כרך בשבריר שנייה ללא תפיסת מקום נוסף (Zero-storage overhead) עד לביצוע שינוי. Finder מבצע זאת אוטומטית. |
| SVG (System Volume Group) | מעטפת המאחדת את כונן המערכת וכונן המידע לקבוצה אחת שמוצגת ככונן אחיד למשתמש. |
| SSV (Signed System Volume) | מחיצת ה-System הנעולה והחתומה קריפטוגרפית. המערכת עולה מתוך Snapshot מאומת. שום תוכנה או Admin לא יכולים לשנות בה קבצים. |
| Firmlinks | "חורי תולעת" — קישורים דו-כיווניים המחברים ספריות מה-System אל ה-Data לחוויית שימוש רציפה. |
| Orphaned Data Volume | מקרה קצה בו נוצר נתק בין ה-System ל-Data (לעיתים לאחר שחזור לקוי), ומשאיר כונן Macintosh HD - Data שמבזבז מקום. |
| Spotlight Index & Live Text | מסד נתונים סמוי (.Spotlight-V100) לחיפוש גלובלי. בגרסאות עדכניות, התהליך כולל אנליזת תמונות (OCR), מה שעשוי לגרום לעיבוד ממושך ברקע (Runaway Indexing). |
| User / Local / Network / System Domains | חלוקת המערכת למרחבים שמגדירים מיקום נתונים והרשאות. חיונית לפתרון תקלות הגדרות ומשאבים בסביבה מרובת משתמשים. |
| אבטחה ארגונית (Enterprise Security) | לאור ה-SSV, אין צורך שתוכנות AV יסרקו את כונן המערכת. חשוב להחריג נתיבי מערכת כדי למנוע לולאות Firmlink שעלולות לגרום לקריסות. |
חלק 1 — APFS: Container, Volume, Clone¶
מבנה APFS בפועל¶
Physical Disk
└── Container (disk3) ← הבריכה הגדולה
├── Volume: Macintosh HD (System) ← Read-Only, חתום
├── Volume: Macintosh HD - Data ← Read-Write, נתוני משתמש
├── Volume: Preboot
├── Volume: Recovery
└── Volume: VM (Swap)
Important
כל הכרכים ב-Container חולקים את אותו מקום פנוי. אין צורך להגדיר גודל מראש לכל כרך — המערכת מנהלת את זה דינמית.
חישוב שטח אחסון ודילמת ה-Purgeable Space¶
ב-macOS, חישוב נפח האחסון הכולל מתבצע לפי הנוסחה: $$\text{Capacity} = \text{Available} + (\text{Used} - \text{Purgeable})$$
- מהו Purgeable Space? מקום שכרגע שמורים בו קבצים זמניים (מטמונים, קבצי לוגים ו-Local Snapshots) ש-macOS רשאית למחוק אוטומטית באמצעות תהליך הרקע
deleted(8)כאשר המערכת זקוקה לשטח פנוי נוסף. - המלכוד של Finder מול Disk Utility: ב-macOS 26 Tahoe, ה-Finder וחלון האחסון בהגדרות המערכת נוטים לעיתים להחסיר את נתוני ה-Purgeable Space שנתפסים ע"י Snapshots ולהציגם כשטח תפוס לחלוטין (
Used). כתוצאה מכך, המערכת עלולה לחסום העתקת קבצים חדשים עם שגיאת "אין מספיק מקום פנוי", למרות שב-Disk Utility ניתן לראות בבירור שהשטח מוגדר כ-Purgeable וניתן לפינוי מיידי.
פקודות אבחון¶
# הצגת היררכיית APFS
diskutil list
diskutil apfs list
# הוספת כרך עם Quota
diskutil apfs addVolume diskX APFS "NewVolumeName" -quota 50g
# יצירת Clone ידני (ללא תפיסת מקום)
cp -c /path/to/original /path/to/clone
חלק 2 — SSV ו-Firmlinks¶
מבנה ה-System Volume Group¶
"Macintosh HD" (מה שה-Finder מציג)
↕ Firmlinks (תפרים דו-כיווניים)
┌─────────────────────┐ ┌─────────────────────┐
│ System Volume │ │ Data Volume │
│ (Read-Only) │ │ (Read-Write) │
│ חתום קריפטוגרפית │ │ נתוני משתמש │
└─────────────────────┘ └─────────────────────┘
Note
הפקודה sudo touch /System/test.txt תחזיר "Read-only file system" — זו לא שגיאה, זו ההגנה של SSV בפעולה.
פקודות SSV ו-Firmlinks¶
# אימות שה-SSV חתום וסגור (חשוב לפני פריסת AV ארגוני)
csrutil authenticated-root status
# הצגת ה-Firmlinks (התפרים בין System ל-Data)
cat /usr/share/firmlinks
# הצגת נקודות ה-Mount (הראה את read-only)
mount
חלק 3 — File System Domains¶
ארבעת המרחבים¶
| Domain | נתיב | גישה | שימוש |
|---|---|---|---|
| User | ~/Library/ |
משתמש בלבד | העדפות, Containers, Caches אישיים |
| Local | /Library/ |
כל המשתמשים (Admin לשינוי) | פונטים משותפים, Daemons, Frameworks |
| Network | /Network/Library/ |
רשת ארגונית | משאבים ממשרד ה-IT |
| System | /System/Library/ |
נעול (SSV) | קבצי מערכת — אין כניסה |
תרחיש נפוץ בשטח
משתמש מתקין פונט ורק הוא רואה אותו → הפונט הותקן ב-User Domain (~/Library/Fonts). כדי שיהיה זמין לכולם: להעביר ל-/Library/Fonts (דורש Admin).
גישה ל-User Library ב-Finder¶
- פתח Finder → תפריט
Goבשורת התפריטים - החזק מקש
Option (⌥)→ Library תופיע ברשימה - לחץ עליה → זוהי ה-
~/Libraryשלך
חלק 4 — Spotlight¶
איך Spotlight עובד¶
קובץ חדש נוצר / משתנה
↓
mdworker (תהליך רקע)
↓
mdimporter plugin (מותאם לסוג הקובץ)
↓
.Spotlight-V100 (מסד הנתונים)
↓
Spotlight Search / Finder / "About This Mac"
פתרון תקלות Spotlight¶
# בדיקת סטטוס אינדקס
sudo mdutil -s /
# איפוס ובניה מחדש (לבעיית "System Data" מוגזם)
sudo mdutil -E /
# בדיקת מטא-דאטה של קובץ ספציפי
mdimport -t -d3 /path/to/file.pdf
Note
לאחר mdutil -E / תראה את תהליכי mds_stores ו-photoanalysisd קופצים ב-Activity Monitor. זה תקין — המערכת בונה מחדש. עשוי לקחת שעות עד ימים.
חלק 5 — אבטחה ארגונית (Enterprise)¶
מה אנשי IT צריכים לדעת¶
לפני פריסת AV/DLP ארגוני על Mac
- הרץ
csrutil authenticated-root status— אםenabled, כונן המערכת חתום ומוגן. אין צורך לסרוק אותו. - הגדר Exclusions לנתיבי מערכת:
/System/,/usr/bin/,/usr/lib/ - השתמש ב-
/usr/local/(נגיש לכתיבה) לסקריפטים — לא ב-/usr/bin/(נעול)
Caution
כלי AV ישן שסורק ללא Exclusions על Mac עם Firmlinks — עלול להיכנס ללולאה אינסופית ולגרום ל-Kernel Panic. תמיד לעדכן סוכני אבטחה לגרסה התומכת ב-Tahoe/Sequoia.
קישורים ולקריאה נוספת¶
- Use Disk Utility to repair a storage device — מדריך רשמי
- How macOS depends on firmlinks — מאמר עומק על Firmlinks
- Aren't snapshots purgeable? — תחקיר מעמיק על ניהול שטח פנוי ו-Purgeable Snapshots ב-macOS 26 Tahoe
- Using and troubleshooting Spotlight in Sequoia — פתרון תקלות Spotlight
🎬 סרטון סיכום¶
עזרים ויזואליים¶
המחשה ויזואלית (עזר לתלמיד)
תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.
