שיעור 05: אפליקציות ותהליכים¶
מדריך עזר לתלמיד (vEXP)
מטרות השיעור¶
- תהליכי התקנה
- ארגזי חול (Sandboxing)
- אבחון וטיפול בתקיעות
- הפצה ארגונית (VPP)
סקירה¶
מושגי יסוד (Core Concepts)¶
- App Store: החנות הרשמית של אפל לאפליקציות. כל אפליקציה כאן עוברת ביקורת, נוטריזציה ופועלת תחת מגבלות של ארגז חול (Sandbox).
- Package (PKG): קובץ התקנה המכיל חבילת קבצים וסקריפטים לפיזור במערכת. משמש לרוב להתקנות תוכנות ארגוניות מורכבות.
- Disk Image (DMG / ASIF): כונן וירטואלי. ב-macOS 26 (Tahoe), אפל הציגה את פורמט ASIF (Apple Sparse Image Format) היעיל במיוחד.
- Sandboxing: מנגנון אבטחה של macOS המגביל את גישת האפליקציה למשאבי מערכת, זיכרון וקבצים בלתי קשורים. המידע נשמר בתוך "Container" מבודד.
- Code Signing & CDHash (DeepDive): התשתית הקריפטוגרפית של מערכת ההפעלה. המערכת מוודאת בזמן אמת כל דף זיכרון מול ה-Code Directory Hash (CDHash) כדי לוודא שלא בוצעו שינויים זדוניים.
- App Translocation (DeepDive): מנגנון (Gatekeeper Path Randomization) המונע מאפליקציות זדוניות שחולצו מקובץ ZIP/DMG לטעון קבצים סמוכים, על ידי הרצתן ממיקום אקראי ולקריאה-בלבד עד שיועברו לתיקיית היישומים.
- Preemptive Multitasking & WindowServer (DeepDive): הקרנל מנהל תהליכים בצורה כפויה. אם חוט הממשק הראשי נתקע, ה-WindowServer מציג אוטומטית את "כדור הים".
- Force Quit: יציאה מאולצת ואגרסיבית לאפליקציה תקועה (שליחת פקודת
SIGKILL), שאינה מאפשרת שמירת נתונים. - Volume Purchase Program (VPP) / Apple Business Manager (ABM): תוכנית הרכישה הארגונית המאפשרת לארגונים לרכוש רישיונות ולחלקם לעובדים דרך MDM ללא צורך ב-Apple ID אישי.
- Self Service: חנות האפליקציות הפרטית של הארגון המאפשרת למשתמשים סטנדרטיים להתקין תוכנות מאושרות ללא סיסמת Admin.
פקודות טרמינל מרכזיות¶
מתקינים ודיסקים (installer & hdiutil)¶
-
sudo installer -pkg /path/to/package.pkg -target /התקנה שקטה של PKG לכונן הראשי. הפקודה הבסיסית לסקריפטים של MDM. -
hdiutil attach /path/to/image.dmgעגינת (Mount) כונן וירטואלי. -
hdiutil detach /Volumes/ImageNameניתוק כונן וירטואלי בצורה בטוחה.
ניהול תהליכים ויציאה מאולצת (killall & kill)¶
-
killall "App Name"סגירת אפליקציה בצורה עדינה לפי שמה (שולחSIGTERM). -
kill -9 [PID]אילוץ קריסה מיידית דרך מזהה תהליך, זהה לפעולת ה-Force Quit הגרפית (שולחSIGKILL). -
killall cfprefsdחיסול תהליך התצורה, מאלץ את המערכת לרוקן את המטמון של קבצי העדפות. קריטי בעת איפוס ארגזי חול (Sandboxes) ידני.
הגדרות אפליקציה נסתרות (defaults)¶
-
defaults read com.apple.Safariקורא את כלל קובץ ההגדרות (plist) עבור Safari. -
defaults delete com.apple.Safariמוחק את קובץ ההגדרות לחלוטין, ומחזיר את האפליקציה למצב יצרן.
עדכוני מערכת ורוזטה (softwareupdate)¶
softwareupdate --install-rosetta --agree-to-licenseהתקנה מהירה ושקטה של סביבת התרגום רוזטה 2 במחשבי Apple Silicon.
ניהול Sandboxes ואיפוס אפליקציות¶
היכן אפליקציות שומרות את המידע שלהן?
- העדפות (Preferences): תחת
~/Library/Preferences/com.domain.appname.plist - Application Support: תחת
~/Library/Application Support/AppName/ - Containers: אפליקציות מה-App Store או אפליקציות Sandbox אינן כותבות לתיקיות הכלליות. כל הגישה שלהן מנותבת אל:
~/Library/Containers/[Bundle ID].
כיצד לאפס אפליקציית Sandbox (איפוס מוחלט):
- ודא שהאפליקציה סגורה לחלוטין (Quit או Force Quit).
- מחק את תיקיית ה-Container של האפליקציה בנתיב:
~/Library/Containers/[Bundle ID]. - מחק את הגדרות המערכת השמורות (אם קיימות מחוץ ל-Sandbox):
defaults delete [Bundle ID]. - נקה את מטמון הזיכרון על ידי הרצת הפקודה
killall cfprefsdבטרמינל. - פתח מחדש את האפליקציה - היא תיווצר מחדש מאפס, כאילו הופעלה לראשונה.
קישורים מומלצים ולקריאה נוספת¶
- Check app installation and processes on Mac
- Learn about App Store security protections
- Distribute content with mobile device management
- Explainer: the app sandbox
- macOS Tahoe brings a new disk image format
סרטון סיכום¶
המחשה ויזואלית (עזר לתלמיד)
תמונות אלו ממחישות את הממשק או המנגנון הרלוונטי לנושא השיעור.
