פרסומת

מערכות הפעלה מודרניות מספקות לך שיטות קלות להגדרת יישומים חדשים. אלה כוללים חבילות התקנה אוטומטיות וכן פקודות המתקינות סיביות רבות של תוכנה בבת אחת. אבל מה בעצם קורה כשאתה מפעיל את המתקין הזה או מוציא את הפקודה הזו?

בואו נסתכל כיצד מותקנת תוכנה בשלוש פלטפורמות שולחן עבודה עיקריות: Windows, macOS ו-Linux.

שיטות התקנת תוכנה

ישנן מספר דרכים שונות שבהן תוכל להפעיל יישומים חדשים במחשב שלך. לפי סדר הגדלת המורכבות, אלה כוללים:

  • הידור תוכנה - בניית האפליקציה מקוד המקור שלה. למשתמשים הטכניים ביותר בלבד.
  • ארכיון תוכנה - פירוק ארכיונים כגון קובצי ZIP והפעלת התוכנית מכל מקום שחילצת אותה. זה עשוי לדרוש קצת התאמה נוספת.
  • חבילות מתקין - מציאת קובץ התקנה ולחיצה (כפולה) כדי להתחיל בהתקנה.
  • מנהלי תוכנה/חנויות - בחירת האפליקציה מממשק נחמד ולחיצה על כפתור "התקן" גדול. זה קסם!

במאמר זה נבחן את חבילות המתקנים, מכיוון שרוב מנהלי התוכנה/חנויות מתמודדים בסופו של דבר עם חבילות מסוג זה מאחורי הקלעים בכל מקרה. עבור פלטפורמות שולחן העבודה העיקריות של היום - Windows, macOS ו-Linux - נבחן מה מרכיב את אחת החבילות הללו, ומה קורה כאשר אתה מתקין אותן.

instagram viewer

Microsoft Windows

חבילות ההתקנה שאתה צפוי להיתקל בהן עבור Windows מגיעות באחד משני טעמים עיקריים. קבצי הפעלה (EXE) יכולים להגדיר את התוכנית שלך על ידי ביצוע המשימות הכבדות של הצבת קבצים במיקום הנכון וביצוע עדכוני רישום של Windows. חבילות Windows Installer (MSI) מוסיפות לכך על ידי מתן שירותים סטנדרטיים כגון הסרות התקנה.

אתה יכול לבדוק את התוכן של EXEs או MSIs על ידי פתיחת הארכיון עם 7-Zip 7Zip: תוכנית חינמית לפתיחת תבניות ארכיון לא שכיחות קרא עוד . אם אתה משתמש בו כדי להסתכל על מתקין ה-EXE של 7-Zip עצמו, תמצא מספר קבצים שונים בתוך:

תוכנת אנטומיה תוכן 7zip

בעוד שלקבצים אלה אין תיקיה מכילה בתוך תוכנית ההתקנה, המפתח יצביע כל אחד מהם על ספריית יעד. רובם בסופו של דבר ב"מיקום ההתקנה המוגדר כברירת מחדל" - אותה הצעה שאתה רואה בדרך כלל לתיקיה כמו "C:\Program Files\[שם תוכנית]" או "C:\Program Files (x86)\[האפליקציה החדשה שלך ]."

בעת שימוש בכלי מתוחכם כמו InstallShield ליצירת חבילות התקנה, מפתחי אפליקציות יכולים להתאים אישית את ההתקנה. לדוגמה, הם יכולים להגדיר באילו גרסאות של Windows הוא יתקין, להגדיר קיצורי דרך להיווצר בתפריט התחל ו/או בשולחן העבודה, או לאסוף פרטי משתמש כגון שם, כתובת, וכו ' פרויקט InstallShield לדוגמה בתמונה למטה מציג את המסך להגדרה אם יש ליצור או לעדכן מפתחות רישום של Windows.

חבילת תוכנת אנטומיה installshield registry

עם InstallShield, קבצי האפליקציה והתאמות אישיות אחרות עטופים ב- setup.exe קוֹבֶץ. פתיחתו עם 7-Zip תראה שבתוכה יש חבילת MSI שבהפעלה היא נראית בדיוק כמו ההתקנה שכולנו רגילים אליה. בואו נסקור מה קורה במהלך התהליך הזה.

חבילת תוכנת אנטומיה installshield התקנת

תהליך ההתקנה של Windows

מתקין יבצע את הצעדים הבאים כדי להגדיר את האפליקציה שלך לשימוש (שהסדר המדויק שלה עשוי להשתנות בהתאם להתאמות האישיות של המפתח):

  1. מתקין יכול להכיל ארכיונים אחרים, כמו ה-MSI הנ"ל או פורמטים כמו CAB. כשלב ראשון, המתקין יחלץ אותם למיקום זמני.
  2. לאחר מכן, הוא יבדוק אם כל התלות שהוגדרה זמינה. אם משהו חסר, הוא יוריד אותו במידת האפשר, או תצא מההתקנה עם שגיאה אם ​​לא.
  3. אם נדרשות תלות כלשהן, הם יותקנו תחילה באמצעות כל מתקין שהם מגיעים איתו (הופסקה פעם התקנה עבור .NET Framework? Microsoft .NET Framework: למה אתה צריך את זה וכיצד להתקין אותו ב-Windowsאתה צריך להתקין או לעדכן אותו. אבל האם אתה יודע מהי .NET Framework? אנו מראים לך למה אתה צריך את זה וכיצד אתה יכול לקבל את הגרסה העדכנית ביותר. קרא עוד ).
  4. לאחר מכן, המתקין יתחיל להעתיק את קבצי האפליקציה ולהציב אותם במיקומם הנכון.
  5. אם המפתח הגדיר קיצורי דרך כלשהם, המתקין יצור ויפנה אותם לנתיב ההתקנה בפועל (זכור, אתה יכול לשנות את זה כיצד ליצור קיצורי דרך לשולחן העבודה של Windows בדרך הקלהקיצורי דרך חכמים בשולחן העבודה יכולים לחסוך לך ניפוי חסר דעת בין תפריטים ותיקיות. אנו מראים לך דרכים מהירות וקלות ליצור אותם. קרא עוד כאשר מתקין מופעל).
  6. שינויים ברישום של Windows 3 כלים לניטור ובחינה של הרישום של Windowsהרישום של Windows הוא אחד החלקים המובנים בצורה גרועה ביותר של מערכת ההפעלה Windows. אנו מראים לך כלים שיכולים לפשט את הרישום ולעזור לך לזהות בעיות. קרא עוד , אם בכלל, יבוצע.
  7. לבסוף, המתקין עשוי לבקש מהמשתמש להזין מידע כגון שם או כתובת אתר אינטרנט.

תהליך זה עשוי להיראות מורכב בהשוואה למערכת ההפעלה הבאה ברשימה. בואו נסתכל על התקנת תוכנה ב-macOS.

אפל macOS

למתקינים של Windows קורה הרבה מתחת למכסה המנוע. אבל אם השתמשת ב-Mac אתה יודע שלעתים קרובות התקנת אפליקציה קלה כמו הורדת עותק של האפליקציה, פתיחת תמונת הדיסק (DMG), ו בעקבות כמה הנחיות קלות כיצד להתקין ולהסיר תוכנת Mac: 5 שיטות קלותעברתם למק והסתכלו על היסודות? תוהה כיצד להתקין תוכנה משורת הפקודה? יש לך אפליקציות Windows ישנות שאתה פשוט חייב להפעיל במחשב אפל שלך? קרא עוד . לפעמים ההורדה אפילו מספקת לך "גרור לכאן!" סמל.

בואו נצלול לתוך חבילת ה-APP כמו גם המקבילה שלו, מתקין PKG.

מבנה החבילה של macOS

קובץ ה-APP על פני השטח הוא למעשה פשוט יותר מ-Windows משתי סיבות עיקריות. ראשית, זו תיקייה רגילה. ההבדל היחיד הוא שהוא מסתיים בסיומת ".APP". אם אתה מוריד אחד מאלה ב-Windows, תראה שהוא מוצג בדיוק כמו כל תיקיית קבצים אחרת בסייר. שנית, קבצי APP דורשים שכל מה שהתוכנית דורשת ייכלל. אין דאגה לגבי תלות חסרה עם סוגים אלה של מתקינים.

החבילות הללו חייבות להכיל שלושה דברים בתיקייה בשם "תוכן": 1) קובץ "Info.plist" המכיל מטא נתונים של יישום כגון שם, שפה, מספר גרסה וכו'; 2) ספריית "MacOS" המכילה את קובץ ההפעלה הראשי; ו-3) ספריית "משאבים" שמחזיקה נכסים שהאפליקציה צריכה לתפקד (למשל סמל אפליקציה). ישנן תיקיות אופציונליות אחרות כגון "Frameworks" (חבילות של פונקציונליות שאינן ספציפיות לאפליקציה), "Plug-Ins" (פונקציונליות עבור האפליקציה שאינה נדרשת כדי להפעיל אותה) ו-"SharedSupport" (נתונים זרים כמו תבניות).

תיקיות אפליקציות מק

לעומת זאת, פורמט PKG הוא שילוב של דמוי Windows מתקין עם מבנה דמוי יוניקס 3 מערכות הפעלה דמויות UNIX שאינן לינוקסלאחרונה, אנשים התחילו לבלבל "UNIX" עם "Linux". לינוקס הושפעה מ-UNIX, אך למערכות UNIX אין קשר ללינוקס. הנה כמה מערכות חשובות מבוססות UNIX שכדאי לדעת עליהן. קרא עוד . אפליקציית 7-Zip תפתח גם קובץ PKG, אשר דחוס פנימה xar פוּרמָט. בפנים נמצא אחד או יותר מטען קבצים, שהוא גם ארכיון. כדי לחלץ את תוכנו השתמש בשרשרת הפקודות הבאה (cpio הוא פורמט ארכיון כמו גם תוכנית לתמרן אותם) במסוף Mac או Linux:

חתול מטען | gunzip -dc | cpio -i

לאחר שתסיים, תראה עץ ספריות מוכר דמוי Unix.

בדוגמה למטה, השתמשתי בממיר מסמכים, פנדוק. זה כולל in בינארי /usr/local/bin וקצת תיעוד ב /usr/local/share/man. איך הדברים האלה מתקיימים בפועל? נסקור כיצד כל אחד מאלה באמת מותקן ב-Mac שלך.

מבנה mac pkg

השתמשתי בגרסת Windows של 7-Zip כדי להמחיש זאת, ולא בגרסת לינוקס בלבד בשורת הפקודה.

תהליך התקנת macOS APP

כשאתה משחרר את קובץ ה-APP הזה לתיקיית היישומים שלך, זה לא באמת משתנה כל כך. זכור, כל הדרוש להפעלת התוכנית הוא עצמאי. ההבדל היחיד מגרירה ושחרור רגילה הוא שהקובץ "Info.plist" נרשם במערכת.

עותק של יישום מק

זה יגדיר דברים כמו איזה קובץ הפעלה נקרא כשאתה מפעיל את האפליקציה, איזה סמל מוצג, סוגי קבצים שהיא תומכת בו ועוד. אבל אחרת האפליקציה שלך (כגון חבילת APP עבור עורך Atom המוצג להלן) מוכנה כעת לשימוש.

אפליקציית mac מותקנת

תהליך התקנת macOS PKG

פתיחת קובץ PKG, לעומת זאת, מפעילה מתקין "בסגנון אשף". עבור תוכניות פשוטות זה בדרך כלל א מתקין רכיבים, שעובר בדרך כלל את השלבים הבאים:

  1. הפעל את התקנה מראש תַסרִיט.
  2. פרק את תכולת "הטעינה" למכונה.
  3. הפעל את לאחר התקנה תַסרִיט.
התקנת mac pkg

מפתחים יכולים לאחר מכן לשלב מספר רכיבים לאחד ארכיון מוצרים להתקין. זה מוסיף אפשרויות כגון הצגת EULA עבור המשתמש לקבל, איסוף מידע מהמשתמש ובחירת הרכיבים להתקנה. בינתיים, ה-Apple Installer דואג לכל הפרטים של התקנת הרכיבים הדרושים אחד לאחד ברקע.

אם כבר מדברים על מתקינים מבוססי Unix, נעבור לשני הפורמטים המובילים של חבילות לינוקס בסעיף הבא.

אובונטו ופדורה לינוקס

אה, DEB מול סל"ד כיצד להתקין תוכנה בלינוקס: הסבר על פורמטי החבילותעברת ללינוקס וברצונך להתקין תוכנה כלשהי. אבל מנהלי החבילות שונים בהתאם להפצה שלך. אז אילו אפליקציות אפשר להוריד ולהתקין? הכל כתוב בראשי התיבות. קרא עוד . אחת ממלחמות הלהבות הגדולות, שניצחה רק על ידי אנשים כמו vi נגד emacs או KDE מול GNOME. עם זאת, פורמטים אלה דומים יותר משהם שונים. בואו נסתכל.

מבנה קובץ חבילת לינוקס

כדי להסתכל על החלק הפנימי של קובץ DEB, אתה יכול לנסות מנהל ארכיון GUI. אחרת, השתמש ב- ar פקודה. הפקודה הבאה הוזנה בטרמינל יותר מ-40 פקודות מסוף לינוקס בשימושבין אם אתה רק מתחיל או סתם סקרן לגבי מסוף לינוקס, הנה הפקודות הנפוצות ביותר שיעבירו אותך לאורך כל הזמן שלך בלינוקס. קרא עוד יחלץ את התוכן של חבילת דביאן:

ar -x name-of-your-package.deb

שלושה קבצים ייצאו מזה:

  • control.tar.gz - זה בתורו מכיל קובץ ראשי אחד, לִשְׁלוֹט, שמכיל מטא נתונים על החבילה, כגון השם הרשמי, הגרסה והתלות שלה. הוא עשוי להכיל גם קבצים אחרים כגון סקריפטים שיופעלו במהלך תהליך ההתקנה או קובצי הגדרות ברירת מחדל.
  • data.tar.gz - הקבצים המרכיבים את האפליקציה עצמה נמצאים בארכיון TAR.GZ זה. הכל, כולל קבצים בינאריים, תיעוד ותצורות ברירת מחדל נמצאים כאן. בחבילה לדוגמה kde-service-menu-encfs_0.5.2_all.deb, הוא מכיל קבצים וספריות כפי שמוצג בתמונה למטה.
  • דביאן-בינארי — זהו קובץ שמגדיר באיזו גרסה של פורמט החבילה של דביאן הקובץ משתמש. עבור הפצות מודרניות זה יכיל רק "2.0" בשורה אחת.
השליטה הראשית של deb

בפדורה, אתה יכול להשתמש ב- rpm2cpio ו cpio פקודות לחילוץ חבילת RPM ולעיין בקבצים שלהן:

rpm2cpio name-of-your-package.rpm | cpio -idvm

עבור החבילה kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, תראה עץ קבצים הדומה לחבילת DEB. אבל זה לא מספק את המטא נתונים, לפחות לא ב ה בינארי חֲבִילָה. תצטרך להוריד את ה-RPM של המקור (.SRC.RPM) התואם לגרסה הבינארית שלך, ולאחר מכן להשתמש באותה פקודה למעלה בקובץ זה. כלול בו קובץ SPEC המכיל רבים מאותם פריטים כמו ה- לִשְׁלוֹט קובץ בחבילת דביאן.

עכשיו, כשיש לנו הבנה של המבנה של חבילות לינוקס, בואו חקור מה קורה כאשר אתה מתקין אותם בפועל כיצד להתקין תוכנה בלינוקס: הסבר על פורמטי החבילותעברת ללינוקס וברצונך להתקין תוכנה כלשהי. אבל מנהלי החבילות שונים בהתאם להפצה שלך. אז אילו אפליקציות אפשר להוריד ולהתקין? הכל כתוב בראשי התיבות. קרא עוד .

התקנת חבילת לינוקס

כאשר אתה מתקין חבילות של כל אחד מהפורמטים, ללא קשר לקצה הקדמי, מתרחשת קבוצה דומה של שלבים:

  1. מערכת החבילה בוחנת את תוכן החבילה כדי לקבוע אם חסרות תלות. בהתאם לכלי, זה יזהיר אותך או יקבע הורדת אותם.
  2. אם החבילות מכילות סקריפטים או פקודות להתקנה מראש, הן פועלות לאחר מכן.
  3. ואז מערכת החבילה למעשה מחלצת את קבצי החבילה.
  4. עם הקבצים במקום, סקריפטים לאחר ההתקנה פועלים.
  5. לבסוף, החבילה רשומה במסד הנתונים הפנימי באמצעות המטא נתונים שלה, כך שניתן להסיר אותה מאוחר יותר.

לדעת איך מתקינים תוכנה זה דבר טוב

מכיוון שמפתחי מערכות הפעלה והתוכנות שפועלות עליהן עושים עבודה מצוינת בהקלת התקנת התוכנה, אתה לא באמת צריך לשים לב לפרטים. אבל ידיעה מסוימת על מה שקורה מאחורי הקלעים תיתן לך קצת שקט נפשי לגבי מה שמותקן במערכת שלך, כמו גם עזרה בפתרון בעיות.

כמה משיטות התקנת התוכנה לעיל ביצעת? האם אתה מעדיף DEB או RPM? או שמא חבילות ה-APP של Mac מייצגות את פסגת קלות השימוש? האם קרתה פעם התקנת סיוט? ספר לנו בתגובות למטה!

אהרון היה עמוק בטכנולוגיה כאנליסט עסקי ומנהל פרויקטים במשך חמש עשרה שנים, והיה משתמש נאמן באובונטו במשך כמעט זמן רב (מאז ה-Breezy Badger). תחומי העניין שלו כוללים קוד פתוח, יישומים לעסקים קטנים, אינטגרציה של לינוקס ואנדרואיד, ומחשוב במצב טקסט רגיל.