לדלג לתוכן

0.2 מה זה לינוקס הרצאה

״קרנל״ - kernel

  • לרוב אנחנו נחלק מערכות הפעלה לשני חלקים- ה״קרנל״, וה״user-space״.
  • ״קרנל״ או בתרגום ״גרעין״ הוא המנוע של המערכת ההפעלה שמנהל את הקבצים, הרשאות, וכל מה שאנחנו מכירים שמערכת הפעלה יודעת לעשות.
  • ה״userspace״ הוא העטיפה של הקרנל, אוסף של תוכנות שמשתמשות במנוע ה״קרנל״ כדי לספק לנו עטיפה יפה למערכת ההפעלה. כלומר: הטרמינל, הדפדפן, מסך הבית, דף ההגדרות כולן הן תוכנות ב״userspace״.

מה זה Linux

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

מה זה GNU

  • תוכנות GNU הן אוסף תוכנות ״user-space״-יות שבנויות על לינוקס ובאמצעותן אפשר לבנות "user-space" שלם מבוסס לינוקס.
  • לינוקס ו-GNU הם קוד פתוח, מה שאומר שהקוד שלהם זמין לצפייה, ואפשר לשנות אותו כדי לבצע התאמות ושינויים במערכת ההפעלה.
  • רוב מערכות ההפעלה המבוססות לינוקס משתמשות בGNU כחלק מהuserspace שלהן.
  • לינוקס ו-GNU גמישים להתאמה אישית: מיליוני אנשים ברחבי העולם מפתחים מעל לינוקס ו-GNU, ויוצרים מערכות הפעלה מבוססות לינוקס ו-GNU, מערכות הפעלה אלה נקראות ״הפצות לינוקס״ (Linux Distributions) או בקצרה, "דיסטרו".

למה לבחור Distro-ים של לינוקס?

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

היסטוריה של לינוקס

יוניקס (Unix)

יוניקס היא מערכת הפעלה שלמה שהומצאה ב-1969 על ידי קן תומפסון ודניס ריצ'י במעבדות בל (Bell Labs). יוניקס נבנתה כתחליף למערכות גדולות ומסובכות באותה תקופה והייתה פשוטה יותר ליישום. יוניקס הוצגה כמערכת הפעלה ניידת, כתובה בשפת C (שפותחה גם היא על ידי דניס ריצ'י), מה שהקל על התאמתה למערכות מחשב שונות.

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

גנו (GNU)

הפרויקט GNU הוא ראשי תיבות של "GNU's Not Unix" ("גנו אינו יוניקס"), והוא פרויקט שהחל ב-1983 על ידי ריצ'רד סטולמן במסגרת תנועת התוכנה החופשית. המטרה של פרויקט גנו הייתה ליצור מערכת הפעלה חופשית ודומה ליוניקס, אך שונה בכך שתהיה פתוחה ונגישה לכולם ללא מגבלות של רישוי.
- בGNU קיימים המון כלים ותוכנות שימושיות כדאיות בכל מערכת הפעלה.

פרויקט גנו כלל פיתוח של כלים ומערכות כמו GNU Compiler Collection (GCC) - סט קומפיילרים לשפות פופלריות בניהם שפת C.
עורך הטקסט Emacs, ועוד כלים רבים שהיוו את הבסיס להרכבת מערכת הפעלה שלמה.

לינוקס (Linux)

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

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

דיסטרואים (הפצות Linux Distributions)

הפצת לינוקס היא גרסה מותאמת אישית של מערכת ההפעלה שמכילה את הקרנל לינוקס יחד עם מבחר תוכנות וכלים נוספים (לרוב עם תוכנות של GNU). כל דיסטרו (הפצה) נבנה למטרה ספציפית או לקהל יעד מסוים. הדיסטרואים מפותחים על ידי קהילות משתמשים או ארגונים מסחריים.

דוגמאות לדיסטרואים פופולריים:
- הפצת Debian: הפצה קהילתית וותיקה שמתמקדת ביציבות ופתיחות.
- הפצת Ubuntu: מבוססת על Debian, הפצה שמיועדת למשתמשים מתחילים ולשימוש במחשבים אישיים.
- הפצת Fedora: הפצה נתמכת על ידי Red Hat ומתמקדת בחדשנות ובשימוש בטכנולוגיות חדשות.
- הפצת Arch Linux: הפצה למשתמשים מתקדמים, המאפשרת התאמה אישית מלאה של המערכת.
- הפצת Red Hat Enterprise Linux (RHEL): הפצה מסחרית שמתמקדת ביציבות ואבטחה לארגונים.
- הפצת SELinux – לינוקס מאובטח עם תכונות אבטחה רבות.
- הפצת Kali – (מבוססת על Debian) מכילה כלים רבים לבדיקות חדירה (Pen-Testing).

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

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