פרק 5: ניהול אפליקציות ותמיכה - מדריך למדריך (Facilitator Guide)¶
זהו עזר ההדרכה עבור המדריך. המסמך מכיל את מטרות הלמידה, תסריט ההדרכה (Script), הוראות להדגמות החיות (Demonstrations), ומידע טכני מורחב למענה על שאלות מורכבות (Instructor Deep-Dive).
הערה למדריך: יש לשמור על סנכרון מלא עם ה-Instructor Reference (Asset A). מסמך זה משמש כ'תסריט' שלך מול הכיתה.
1. סוגי התקנות: חבילות (PKG), תמונות דיסק (DMG) ו-App Store¶
Objective: התלמידים יכירו את שלושת ערוצי ההתקנה המרכזיים ב-macOS, ויבינו מתי משתמשים בתמונת דיסק (DMG) לעומת מתקין מערכתי (PKG) ואת ההבדל בהרשאות הנדרשות.
Discussion - Script: "בואו נדבר על איך אנחנו מתקינים אפליקציות ב-Mac. בשונה מווינדוס, שם הכל מגיע בקובץ EXE או MSI, ב-macOS יש לנו שלוש דרכים שונות לעשות את זה. הדרך הראשונה והפשוטה ביותר היא ה-App Store. בדיוק כמו באייפון – מחפשים, לוחצים 'הורד' וסיימנו. הכל נבדק ומאובטח על ידי אפל. אבל, לא כל התוכנות נמצאות בחנות. כשאתם מורידים אפליקציה ישירות מהאינטרנט, למשל דפדפן או נגן מדיה, לרוב תקבלו קובץ שנקרא DMG. המונח הזה הוא קיצור של Disk Image. זה בעצם Volume (ווליום) וירטואלי. כשאנחנו לוחצים עליו כפול, ה-Mac עוגן (Mount) אותו כאילו הכנסנו כונן לחריץ בצידי המחשב. ואז, כל מה שצריך לעשות זה לגרור את האייקון של האפליקציה אל התיקייה Applications. זהו, התקנתם את התוכנה! חשוב לזכור: בסוף התהליך צריך גם ללחוץ הוצא (Eject) על ה-Volume (הווליום) הווירטואלי הזה. הדרך השלישית היא חבילות התקנה מסוג PKG. אלו מתקינים שדומים יותר לאלה שאתם מכירים מווינדוס. אנחנו נפגוש אותם כשתוכנה צריכה לשים קבצים במקומות נסתרים במערכת, כמו תהליכי רקע שרצים כשהמחשב נדלק או רכיבי אבטחה. בגלל שחבילות משנות את ליבת המערכת, התקנת PKG כמעט תמיד תדרוש מכם להזין סיסמת מנהל (Admin)."
Demonstration:
- הורד קובץ
.dmgמהאינטרנט (למשל תוכנת חינם מוכרת). - לחץ לחיצה כפולה על הקובץ, והראה כיצד ה-Finder פותח אותו ומופיע כווליום חדש בסרגל הצד (Sidebar) תחת Locations.
- פתח את החלון וגרור את האפליקציה לקיצור הדרך של התיקייה Applications (הראה את חלון ההעתקה שקופץ).
- הוצא (Eject) את קובץ ה-DMG דרך לחיצה ימנית על ה-Volume (הווליום) ב-Finder ובחירה ב-Eject.
- הפעל את האפליקציה מתיקיית ה-Applications, והצג את חלון האזהרה של Gatekeeper ("App downloaded from the internet"). הסבר שמדובר בהגנה שגרתית.
- הורד והפעל קובץ
.pkg(למשל Microsoft Teams או תוכנה ארגונית). הראה כיצד נפתח אסף ההתקנות (Installer) המערכתי, המציג שלבים מובנים, והדגם את השלב שבו המערכת עוצרת ומבקשת סיסמת Administrator.
Instructor Deep-Dive (מידע טכני מורחב)
- **תהליך ההתקנה של PKG מאחורי הקלעים:** אפליקציית ה-Installer במק (בנתיב `/System/Library/CoreServices/Installer.app`) או כלי שורת הפקודה `installer` קוראים את ה-BOM (Bill of Materials) של החבילה. חבילות PKG יכולות להכיל סקריפטים של pre-install ו-post-install שרצים תחת משתמש root. ניתן לבחון את התוכן והחתימה של ה-PKG באמצעות הפקודה `pkgutil --check-signature /path/to/file.pkg`. - **מעקב אחרי התקנות (Receipts):** המערכת שומרת "קבלות" על כל PKG שהותקן. אפשר למצוא רישום לזה ב-`/Library/Receipts/InstallHistory.plist`, וגם דרך שורת הפקודה בעזרת הפקודה `pkgutil --pkgs`. - **מבנה DMG (Disk Image):** כאשר מריצים DMG, כלי הרקע `diskimages-helper` מבקש מהקרנל לחבר Volume (ווליום) חדש. מכיוון שמדובר בכונן לקריאה בלבד (Read-Only), אם משתמש מריץ אפליקציה ישירות מתוך ה-DMG מבלי לגרור אותה, היא עלולה לקרוס או לא לשמור העדפות, וכך גם פקודת העדכון שלה תיכשל. תמיד להדגיש למשתמשים: "לגרור ל-Applications, לזרוק את ה-DMG לפח".2. ארגזי חול (Sandboxing): איפה אפליקציות שומרות את המידע שלהן ואיך לאפס אותן¶
Objective: התלמידים יבינו את מנגנון ה-App Sandboxing שמונע מאפליקציות גישה בלתי מורשית, וילמדו לחקור דרך ה-Finder היכן נשמר המידע המקומי של האפליקציה על מנת לאפס אותה בהצלחה ללא הסרה מוחלטת.
Discussion - Script: "אם יש משהו שאפל לוקחת מאוד ברצינות – זה אבטחה ופרטיות. בעבר, כל אפליקציה שהתקנתם הייתה יכולה לטייל איפה שהיא רוצה במחשב. היום, יש מנגנון בשם Sandbox (ארגז חול) (Sandboxing). הרעיון הוא שכל אפליקציה שמורדת מה-App Store, ורבות מאלו שמורדות מהאינטרנט, חיות בתוך סביבה סגורה ומבודדת משלהן. האפליקציה לא יכולה להסתכל בקבצים של אפליקציה אחרת, ולא יכולה לקרוא לכם את המסמכים בלי שתאשרו לה מפורשות. אבל איפה האפליקציה שומרת את ההגדרות והמטמון (Cache) שלה? במקום לפזר קבצים בכל המערכת, ה-Mac יוצר עבור האפליקציה 'תיקיית בית וירטואלית' בתוך נתיב נסתר שנקרא Containers בספריית ה-Library של המשתמש. כשאפליקציה נתקעת, קורסת מיד בפתיחה או מציגה מידע שגוי – בווינדוס היינו עושים לה 'הסר התקנה והתקן מחדש'. ב-Mac, בגלל שהאפליקציה היא לרוב רק אייקון אחד ב-Applications, המחיקה שלו לא מסירה את ההגדרות הפגומות. הפתרון הנכון והנקי הוא לגשת לאותו Container (קונטיינר) דרך ה-Finder, למחוק אותו, ובפעם הבאה שתפתחו את האפליקציה – היא תחזור להגדרות יצרן (Factory Defaults) לחלוטין!"
Demonstration:
- פתח את ה-Finder. לחץ על תפריט ה-
Goבשורת התפריטים העליונה, החזק את מקש ה-Option(הסבר שפעולה זו חושפת את תיקיית ה-Library הנסתרת) ולחץ עלLibrary. - הראה לזמן קצר את התיקיות המסורתיות (Legacy):
Preferences,Application Supportו-Caches. - נווט אל תיקיית
Containers. - הראה כיצד התיקייה מלאה בארגזי חול ששמם מתחיל בדרך כלל ב-
com.apple(כמו Safari) או מפתחים אחרים. - היכנס לאחד הקונטיינרים והראה כיצד בפנים יש מבנה שנראה בול כמו תיקיית המשתמש (Desktop, Documents, Downloads). הסבר שאלו קיצורי דרך (Symlinks) שהאפליקציה הכלואה רואה.
- הדגם איפוס חי: פתח אפליקציה כמו Keynote או Apple Configurator, שנה הגדרה כלשהי או הצג את מסך הפתיחה. סגור את האפליקציה, מחק את ה-Container (הקונטיינר) שלה מה-Finder, פתח אותה מחדש והראה שהיא עלתה ריקה עם מסך 'ברוכים הבאים'.
Instructor Deep-Dive (מידע טכני מורחב)
- **מבנה ה-Container והסביבה הווירטואלית:** בתוך ה-Container, ה-macOS יוצרת סביבת Home וירטואלית עבור האפליקציה. האפליקציה חושבת שהיא פונה ל-`~/Library/Preferences` המקורי שלה, אבל בפועל הקרנל מנתב את הבקשה ל-`~/Library/Containers/com.company.app/Data/Library/Preferences`. - **Group Containers:** כשאפליקציות מאותו מפתח (כמו חבילת Office: Word, Excel, PowerPoint) צריכות לשתף מידע ביניהן (למשל רישיון אחיד או שפת משתמש), הן עושות זאת דרך תיקיית `~/Library/Group Containers`. מחיקה של ה-Group Container של מייקרוסופט תדרוש מהמשתמש לבצע התחברות (Sign-in) מחדש לכל יישומי Office. - **TCC וארגזי חול:** Sandbox (ארגז חול) (Sandboxing) נועד למנוע גישה ברמת המערכת (קבצים, משאבים), בעוד Transparency, Consent, and Control (TCC) (מנגנון פרטיות) (TCC) מנהל הרשאות משתמש קריטיות (מצלמה, מיקרופון, קריאת מיקומים). גם אפליקציה שלא נמצאת ב-Sandbox חייבת לציית ל-TCC.3. אבחון תקיעות: Force Quit וטיפול באפליקציות קורסות (Not Responding)¶
Objective: המטרה היא לתת לתלמידים כלים מבוססי GUI לביצוע Force Quit (יציאה מאולצת) (Force Quit) ופתרון תקיעות באפליקציות שקופאות או מסרבות להגיב, תוך שימוש במנגנונים המובנים במערכת.
Discussion - Script: "כולנו מכירים את הרגע הזה: אתם עובדים על המק, ופתאום אפליקציה מפסיקה להגיב. סמן העכבר הופך ל'כדור ים צבעוני' מסתובב. במצב הזה, אם תנסו ללחוץ על ה-X האדום או להקיש Command + Q, שום דבר לא יקרה. המערכת מזהה שהאפליקציה לא יכולה לעבד בקשות רגילות ונמצאת בסטטוס של 'Not Responding'. מה אנחנו כ-IT יכולים לעשות? יש לנו כמה כלים גרפיים נוחים מאוד. הכלי הראשון והמהיר ביותר הוא מנגנון ה-Force Quit, שאליו מגיעים עם קיצור המקלדת Command + Option + Escape. החלון הזה יציג מיד איזו אפליקציה תקועה באדום, ויאפשר לנו לחסל אותה. אם אנחנו רוצים לצלול עמוק יותר, נפתח את ה-Activity Monitor, שהוא המקבילה שלנו ל-Task Manager. שם נוכל לראות בדיוק כמה משאבים (מעבד, זיכרון) האפליקציה צורכת, ולבצע סגירה יזומה ונקייה או סגירה בכוח."
Demonstration:
- פתח מספר אפליקציות גלויות לעין (למשל Safari, תמונות, לוח שנה).
- הקישו מול הכיתה:
Command+Option+Escape. הראה את החלון הקופץ: "Force Quit Applications". - בחר אפליקציה כלשהי מהרשימה, ולחץ על כפתור ה-Force Quit. הראה איך היא נסגרת במיידיות.
- הראה את הדרך החלופית והשקטה: קליק ימני על סמל אפליקציה פתוחה ב-Dock, לחיצה והחזקה של מקש
Option(⌥) במקלדת, והדגם כיצד כפתור ה-"Quit" מתחלף ל-"Force Quit". - פתח את Activity Monitor מתיקיית ה-Utilities.
- אתר אפליקציה ברשימה. הסבר על לשוניות ה-CPU וה-Memory. לחץ עליה ואז על כפתור ה-
Xבראש החלון. - הראה לכיתה את הדיאלוג שקופץ המספק ברירה בין Quit (סגירה בטוחה) ל-Force Quit (אילוץ סגירה).
Instructor Deep-Dive (מידע טכני מורחב)
- **הבדלים בסיגנלים (Signals):** - תהליך Quit רגיל שולח לתוכנה סיגנל `SIGTERM` (מספר 15). התוכנה מקבלת הזדמנות לעשות סדר, לשמור קבצים פתוחים ולסגור את עצמה בצורה נקייה. - תהליך Force Quit דרך הממשק (או פקודת `kill -9` / `killall` בטרמינל) שולח `SIGKILL` (מספר 9). זהו סיגנל שמבוצע ישירות על ידי הקרנל. התוכנה נמחצת במקום ללא שמירת נתונים. - **כדור הים (Spinning Wait Cursor):** מערכת ה-WindowServer ב-macOS מציגה את "כדור הים" כשתהליך (Thread) הראשי של אפליקציה גרפית (UI) אינו מגיב לבקשות למשך יותר מ-2 עד 4 שניות. זה לא בהכרח אומר שהאפליקציה קרסה – ייתכן שהיא מעבדת קובץ כבד וה-UI לא התרענן בזמן. - **אבחון קריסות מתקדם:** בתוך Activity Monitor, ניתן ללחוץ על סמל ההגדרות (גלגל השיניים) או לחיצה כפולה על תהליך ולבחור ב-Sample Process או Spindump. פעולה זו תיצור דוח מפורט שבו מפתחים או תמיכה בדרג 3 יכולים לקרוא היכן ה-Thread נתקע בקוד. תהליכים דומים ניתן לנתח על ידי קריאת לוגים מתקדמים ב-Terminal עם פקודת `log show`.4. תיבול ארגוני: הפצת אפליקציות דרך VPP וקטלוג Self-Service¶
Objective: להבין כיצד ארגונים מנהלים רכש והפצה המונית של תוכנות באמצעות מנגנוני Volume Purchase Program (VPP) מתוך Apple Business Manager, וכיצד משתמשים יכולים להתקין אפליקציות ללא הרשאות אדמין באמצעות Self Service (שירות עצמי) (Self Service).
Discussion - Script: "עד עכשיו, ראינו איך משתמש פרטי מתקין אפליקציות. אבל בארגון עם אלפי מחשבים שבהם למשתמשים אין הרשאות מנהל (Admin), אנחנו חייבים גישה מערכתית ומנוהלת. כאן נכנס 'התיבול הארגוני' שלנו – VPP ו-MDM. אפל מאפשרת לנו, כמחלקת IT, לרכוש רישיונות לאפליקציות – גם חינמיות וגם בתשלום – ישירות דרך פורטל ה-Apple Business Manager. משם, הרישיונות משודכים לשרת ה-MDM שלנו. ה-MDM יכול להפיץ את האפליקציה למחשבי המשתמשים מאחורי הקלעים באופן שקט, והמשתמשים אפילו לא צריכים להזין את ה-Apple ID האישי שלהם. בנוסף להתקנות דחיפה אוטומטיות, יש לנו את ה-Self Service – זוהי מעין חנות אפליקציות פנימית של הארגון. ה-IT מאשר אפליקציות מסוימות, והמשתמשים יכולים לפתוח את החנות הארגונית, ללחוץ על 'התקן', והכל קורה בצורה מאובטחת. למה הם לא צריכים סיסמת Admin? כי ה-MDM שרץ ברקע עם הרשאות מערכת מבצע את ההתקנה בשמם."
Demonstration:
- פתח את אפליקציית ה-Self Service שמותקנת על עמדת ההדגמה (במידה וקיימת סביבת תרגול מבוססת Jamf, Intune, Kandji וכד').
- הראה למשתתפים כיצד נראה קטלוג התוכנות הארגוני וכיצד הוא מחולק לקטגוריות.
- הדגם התקנה: לחץ על כפתור ההתקנה עבור אפליקציה נבחרת בחנות הארגונית, והראה כיצד תהליך ההורדה וההתקנה מסתיים ללא כל חלון קופץ של סיסמה או אימות של המשתמש המקומי.
- נווט אל תיקיית ה-Applications דרך ה-Finder והראה את התוכנה החדשה שנוספה זה עתה.
- הצג (אם ניתן) שקופית או תמונת מסך מתוך מסך "Apps and Books" ב-Apple Business Manager להמחשת רכישת כמות רישיונות בתפזורת (Bulk).
Instructor Deep-Dive (מידע טכני מורחב)
- **הקצאה מבוססת מכשיר (Device-based Assignment):** השיטה הסטנדרטית לארגונים כיום היא Device-based Assignment. הארגון שולח דרך ה-ABM אסימון סנכרון (VPP Token) ל-MDM. ה-MDM שולח פקודת `InstallApplication` לקרנל. המערכת 'קונה' את האפליקציה על ידי שיוך רישיון ארגוני למספר הסידורי (Serial Number) של המק הספציפי. כשמנהל ה-IT מוחק את האפליקציה מהמכשיר דרך ה-MDM, הרישיון משתחרר וחוזר ל-License Pool הארגוני. - **Managed App Configuration:** מנגנון מתקדם באפליקציות נתמכות המאפשר ל-MDM להזריק קובץ תצורה (בדרך כלל `XML/Plist`) ביחד עם התקנת האפליקציה. זה מאפשר להגדיר את האפליקציה מראש עם הגדרות ספציפיות, כמו כתובת השרת הארגוני, כך שהמשתמש מקבל חוויית Zero-Touch מושלמת.סיום פרק 5: ודא שיש לתלמידים שאלות לגבי מנגנון ארגזי החול (Sandboxing) והסרת האפליקציות, והסבר שבמעבדה המעשית (Asset D) הם יתנסו במו ידיהם בהתקנות מחבילות, יתמודדו מול ה-Gatekeeper ויבצעו אילוץ סגירה ואבחון בעזרת הכלים הגרפיים שהכרנו.