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

בשנות השמונים, לריצ’ארד סטולמן נמאס. עולם המחשוב והתוכנה התחיל תהליך של מסחור, וסטולמן האמין שכפיתוח מדעי - עולם המחשוב צריך להיות חופשי וחינמי. מערכת ההפעלה Unix הייתה מערכת הפעלה סופר פופלארית, וסטולמן החליט לפתח מערכת תואמת אך עצמאית וחופשית. (עוד על ענפי Unix השונים אפשר לקרוא כאן). הוא קרא למערכת GNU, ראשי תיבות של Gnu (is) Not Unix. את שכבת הuserland הוא פיתח בצורה מרשימה - הקומפיילר GCC, עורך הטקסט Emacs, ועוד דברים רבים. אבל קרנל… הקרנל היה בעיה. פיתוח Hurd, שנועד להיות הקרנל של GNU, התקדם בעצלתיים וסיום הפרוייקט לא נראה באופק. ואז, הגיע לינוס טוראבלדס. לינוס טוראבלדס התרשם ממערכת תואמת יוניקס למטרות לימודיות בשם Minix. הוא פיתח קרנל בלבד בשם Linux - היוניקס של לינוס. הוא פרסם את הקוד, והחיבור עם פרוייקט GNU הביא לנו את מערכת ההפעלה GNU\Linux. יש עוד הרבה מה להעמיק בהיסטוריה של מערכת ההפעלה, ובחילוקים האידאולוגיים בין המפתחים השונים - לינוס טוראבלדס הרבה יותר גמיש בעוד סטולמן (וקרן הFSF בדרכו) קיצוניים הרבה יותר באידאולוגיית התוכנה החופשית. אבל היום ניגע בלינוקס מזווית טכנית.

עקרונות יסוד:

הכל הוא קובץ (Everything is a file)

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

תוכניות קטנות ומיועדות למטרה אחת

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

יכולת לקשר תוכניות יחד כדי לבצע משימות מורכבות

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

הימנעות מממשקי משתמש סגורים

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

נתוני תצורה נשמרים בקובץ טקסט

דוגמה לכך היא הקובץ /etc/passwd, אשר מאחסן את כל המשתמשים הרשומים במערכת.

הפצות לינוקס

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

עץ הפצות מבוססות דביאן
Debian
├── Ubuntu
│   ├── (Offical Ubuntu Flavors)
│   │   ├── Edubuntu
│   │   ├── Kubuntu
│   │   ├── Lubuntu
│   │   └── And more...
│   │
│   ├── Pop!_OS
│   ├── Linux Mint
│   │   ├── Cinnamon
│   │   ├── MATE
│   │   └── XFCE
│   ├── Elementary OS
│   ├── Zorin OS
│   └── And more...
│   │
├── Kali Linux
├── MX Linux
├── Devuan
└── And more... 

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

לקריאה נוספת, ראה כאן:

https://tchumim.com/post/69072