- systemd 259 מציג תמיכה ניסיונית עבור musl ומחזק את אבטחת האתחול על ידי התמקדות רק ב-TPM 2.0.
- גרסה זו מוסיפה שיפורים ל-run0, systemd-oomd והתשתית הפנימית, עם יכולות IPC חדשות וטעינת מודולים מקבילה.
- דרישות המערכת המינימליות מועלות, המערכת מותאמת לפלטפורמות מודרניות וזורקת סביבות ישנות מדי.
- הפצות יציבות כמו לינוקס מינט 22.3 נוקטות בגישה שמרנית יותר, משלבות גרסאות קודמות של systemd ונותנות עדיפות לחוויית שולחן העבודה.

עם systemd 259 , המערכת האקולוגית של לינוקס שוב זזה, ובאופן משמעותי למדי. גרסה זו של מערכת ההפעלה הנפוצה ביותר ב-GNU/Linux מציגה שינויים עמוקים בתאימות, אבטחה וניהול משאבים, החורגים הרבה מעבר לעדכון שגרתי פשוט. למרות שרבות מהתכונות החדשות הללו הן טכניות, יש להן השלכות ישירות על הפצות, מנהלים ומשתמשים מתקדמים כאחד.
בגרסה זו, systemd לוקחת תפנית מפתח על ידי פתיחת הדלת ל-musl כחלופה ל-glibc, מחמירה את דרישות המינימום שלה, מחזקת את עמדתה בנוגע לאתחול מאובטח עם TPM 2.0, ממשיכה לקדם את run0 כתחליף sudo, ומשפרת את התנהגות systemd-oomd כדי לשלוט טוב יותר בצריכת הזיכרון. כל זאת תוך שמירה על האופי הנרחב והשנוי במחלוקת שליווה את הפרויקט במשך שנים.
systemd, החלק המרכזי והשנוי במחלוקת של לינוקס המודרנית
כיום, systemd היא מערכת ברירת המחדל ברוב הפצות גנו/לינוקס למטרות כלליות: היא מנהלת אתחול, שירותים, רישום, הפעלות משתמש ומגוון משימות ברמה נמוכה שהיו מפוזרות בעבר על פני כלים מרובים. הפילוסופיה שלה של שילוב עוד ועוד תכונות העניקה לה חשיבות עצומה בתוך המערכת.
יכולת זו לרכז תהליכים קריטיים, תלויות ותשתיות הובילה לאימוץ נרחב, אך גם לוויכוח סוער בקהילה. עבור רבים, היא מפשטת את הניהול ומתקנת את הפרקטיקות; עבור אחרים, היא מייצגת נקודת כשל יחידה ומורכבות שקשה לבקר, עם יותר מדי אחריות המרוכזת באותו פרויקט.
במשך מספר גרסאות, קצב הפיתוח היה קדחתני, עם מהדורות תכופות המוסיפות רכיבים חדשים, ממשקים ושיפורים פנימיים . systemd 259 משתלב בצורה מושלמת במגמה זו: הוא לא רק מביא שינויים קלים, אלא גם החלטות אסטרטגיות המשפיעות על אופן הקומפילציה של הפצות, כיצד המערכות מאתחלות וכיצד מנוהלים משאבים תחת לחץ.
בהקשר זה, systemd 259 מהווה נקודת מפנה בתאימות ספריות C, תמיכה בחומרת אבטחה, כלי הסלמת הרשאות ודרישות פלטפורמה, ומחזק עוד יותר את תפקידה של systemd בלב מערכת ההפעלה.
תמיכה ניסיונית ב-musl: להתראות למונופול של glibc

ההתפתחות שתפסה את הכותרות ביותר היא הופעתה של תמיכה ניסיונית עבור musl ב- systemd 259. עד כה, הפרויקט היה מקושר בצורה חזקה מאוד ל- glibc, ספריית C המהווה את הדוגמה עבור רוב הפצות GNU/Linux המסורתיות.
musl, מצידה, היא ספריית C קלת משקל, המוערכת מאוד במערכות מינימליסטיות , קונטיינרים והפצות מכוונות יעילות כמו Alpine Linux וגרסאות אחרות המתמקדות בהפחתת צריכת משאבים ושטח תקיפה. במשך שנים, הקשר בין systemd ל-musl היה מסובך דווקא בגלל תלות זו ב-glibc.
עם שלב זה, למרות שעדיין בשלב הניסוי, systemd כבר אינו כה בלעדי בקשר שלו עם libc . זה פותח את האפשרות האמיתית לשלב systemd עם musl בסביבות בהן נעשה שימוש בעבר במערכות init חלופיות או ש-systemd נמנע לחלוטין עקב מגבלות תאימות.
הגעתה של תמיכה זו כרוכה בשינויים פנימיים משמעותיים: הנחות יסוד של קומפילציה, ממשקים וקריאות ספציפיות של glibc היו צריכות לעבור התאמות כדי לאפשר שילוב של musl מבלי לשבור את ההתנהגות הצפויה. בטווח הקצר, הדבר דורש בדיקות אינטנסיביות על ידי מפיצים ומשתמשים מתקדמים, אך הוא מניח את היסודות לגיוון טכנולוגי גדול יותר בתוך המערכת האקולוגית של לינוקס.
מהלך זה מגיב גם לביקורות היסטוריות על האופי ה"סגור" של systemd בהשוואה לספריות C אחרות. למרות ש-musl עדיין לא נתמך באותה רמת בגרות כמו glibc בהקשר זה, העובדה שנעשתה עבודה בכיוון זה מצביעה על רצון ברור להרחיב אופקים ולהפחית תלות נוקשה במחסנית GNU הקלאסית.
אתחול מאובטח יותר: רק TPM 2.0 עבור systemd-boot ו-systemd-stub

שינוי משמעותי נוסף ב-systemd 259 משפיע ישירות על אתחול מאובטח במערכות UEFI . רכיבי systemd-boot (מנהל האתחול המשולב) ו-systemd-stub (האחראי על הקלת האתחול בסביבות UEFI) אינם תומכים עוד ב-TPM 1.2, ומתמקדים אך ורק ב-TPM 2.0.
הרעיון מאחורי החלטה זו הוא לחזק את האבטחה על ידי תמיכה רק בגרסת TPM הנחשבת לחזקה והעדכנית ביותר . TPM 2.0 מציע יכולות קריפטוגרפיות משופרות ומסגרת גמישה יותר עבור תרחישים כגון אתחול מדוד, אימות שלמות ואטימת סודות המקושרים למצב המערכת.
החיסרון ברור: מערכות שעדיין מסתמכות על TPM 1.2 לא יקבלו תמיכה בתכונות אלו . בפועל, משמעות הדבר יכולה להיות החלפת לוח האם או ויתור על תכונות אתחול מאובטח מסוימות המבוססות על systemd-boot ו- systemd-stub אם החומרה לא תעודכן.
עם זאת, בסביבות ביתיות רבות, Secure Boot ו-TPM מושבתים לעתים קרובות בהתקנות לינוקס, הן מטעמי נוחות והן בגלל החיכוך ההיסטורי שהם גרמו בתאימות מנהלי התקנים, אפשרויות אתחול חלופיות או מערכות כפולות עם Windows.
אף על פי כן, עבור תרחישים ארגוניים או מקצועיים התלויים בשרשרת אתחול מאובטחת עם TPM 2.0 , שינוי זה עולה בקנה אחד עם המגמה בתעשייה: הוא מפשט את הקוד על ידי ביטול תאימות מדור קודם ומפחית סיכונים הקשורים לערימות קריפטוגרפיות ישנות יותר.
run0 עולה במשקל כחלופה מודרנית לסודו

בין הכלים שמעוררים את הסקרנות הרבה ביותר במערכת האקולוגית systemd נמצא run0, שתוכנן כתחליף ל-sudo . sudo היה הסטנדרט דה פקטו לביצוע פקודות עם הרשאות מוגברות במערכות דמויות יוניקס במשך עשרות שנים, אך העיצוב והתצורה שלו נושאים אינרציה היסטורית.
עם run0, צוות systemd מחפש להציע גישה משולבת ומבוקרת יותר להסלמת הרשאותגרסה 259 משלבת תכונה חדשה ומפתחת: הארגומנט --empower, המאפשר לך להתחיל הפעלה חדשה עם הרשאות מוגברות מבלי לשנות במפורש למשתמש root.
הפילוסופיה העומדת מאחורי אפשרות זו היא להפחית עוד יותר את השימוש הישיר בחשבון ה-root , דבר שגורמי האבטחה תמיד מנסים להימנע ממנו או לפחות להגביל אותו ככל האפשר. במקום להתחבר כ-root או לנצל לרעה shells פריבילגיים, מוצע מודל המבוסס על sessions מוגברים עם בקרות עדינות יותר.
למרות זאת, לא כל השיטות לניהול הרשאות מוגברות נוצרו שוות, והאימוץ הנרחב של run0 עדיין נמצא בשלביו הראשונים . מנהלים ומפיצים יצטרכו להעריך האם המודל שלו מתאים יותר מ-sudo לתרחישים הספציפיים שלהם, תוך התחשבות בביקורת, תאימות עם כלים קיימים ומדיניות גישה מבוססת.
בכל מקרה, הפיתוח הפעיל של run0 מצביע על כך ש-systemd אינו מוגבל לתיאום שירותים, אלא שואף לכסות שכבות רבות יותר של ניהול המערכת, כולל ניהול יומיומי של הרשאות שעד כה הועברו כמעט לחלוטין לשירותים חיצוניים.
systemd-oomd: שליטה רבה יותר על תהליכים עתירי זיכרון
מבחינת יציבות המערכת, systemd 259 מחזק את תפקידו של systemd-oomd כמנהל מחסור בזיכרון . רכיב זה אחראי על תגובה כאשר ה-RAM אוזל, והפסקת תהליכים באופן סלקטיבי לפני שהמערכת כולה קופאת.
התכונה החדשה המרכזית היא הוספת המאפיינים OOMKills ו-ManagedOOMKills ליחידות השירות. מאפיינים אלה מאפשרים לך לספור כמה תהליכים הופסקו על ידי הליבה או על ידי systemd-oomd עצמו, מה שמספק נראות טובה הרבה יותר לגבי האופן שבו משברי זיכרון נפתרים.
מידע זה שימושי במיוחד כאשר יישום מתחיל לצרוך זיכרון RAM באופן בלתי נשלט , בין אם עקב דליפות זיכרון, תצורות שגויות או עומסים בלתי צפויים. על ידי היכולת לעקוב אחר מספר הפעמים בו הופעל מנגנון Out-of-Money (OOM), מנהלי מערכת יכולים לזהות דפוסים בעייתיים ולהתאים מגבלות לפני שהמצב יחזור על עצמו.
הרעיון הוא שהמערכת, במקום להיחסם לחלוטין, תפסיק באופן סלקטיבי את התהליכים המזיקים ביותר , תוך שמירה על התגובה הכוללת. עם מוני המערכת הללו נגישים מיחידות systemd, קל יותר לבדוק אילו שירותים הם האשמים החוזרים ונשנים מאחורי מצבים קריטיים.
יחד, השיפורים ב-systemd-oomd מחזקים מגמה ברורה: הפיכת ניהול משאבים אוטומטי לקו הגנה ראשון מפני כשלים קטסטרופליים, עם מדדים מפורטים יותר והחלטות פחות אטומות עבור אלו המנהלים את המערכת.
שיפורים פנימיים נוספים ושינויים רלוונטיים ב-systemd 259
מעבר לכותרות הראשיות, systemd 259 כולל מספר התאמות טכניות אשר מלטשות תחומים שונים של המסגרת וייתכן שלא יבחינו בהן, אך יש להן השפעה מעשית בסביבות של העולם האמיתי.
מצד אחד, הטמעת Varlink עבור תקשורת IPC בתוך מנהל השירות הורחבה וכעת חושפת יכולות רבות נוספות. זה מקל על כלים חיצוניים ושכבות ניהול לתקשר עם systemd בצורה עשירה ומובנית יותר, תוך ניצול טוב יותר של המידע הפנימי שהוא מטפל בו.
רכיבים כמו systemd-udevd ו-systemd-repart שופרו גם הם בכל הנוגע לקריאה מחדש של טבלאות מחיצות בהתקני בלוק. הגישה החדשה הדרגתית וזהירה יותר, מה שמפחית את הסיכון לחוסר עקביות או הפרעות בעת החלפה חמה של מחיצות או מניפולציה של דיסקים במערכות מורכבות.
systemd-boot, בנוסף לשינויים ב-TPM, משלב כעת רמות שונות של רישום , המסייעות באיתור בעיות אתחול והתאמת רמת הפירוט בהתאם לצרכים: החל מיציאות שקטות יותר עבור סביבות יציבות ועד יומני רישום מפורטים עבור הפעלות אבחון.
נקודה מעניינת נוספת היא שתכונות כגון תמיכה בביקורת לינוקס, PAM, libacl, libblkid, libseccomp, libselinux ו-libmount לאחר מכן הם מואשמים על ידי dlopen() במקום קישור דינמי סטנדרטי. אסטרטגיה זו מפחיתה את משקל הבסיס של הקובץ הבינארי ומאפשרת סביבות קלות יותר, שימושי במיוחד בתוך קונטיינרים שבהם לא תמיד נדרשת כל קבוצת הספריות.
יתר על כן, systemd-modules-load טוען כעת מודולי ליבה במקביל , מה שמאיץ את תהליך האתחול במכונות עם מספר מודולים מוגדרים. ככל שמערכות משלבות פונקציונליות רבה יותר בצורת מודולים, מקביליות זו מסייעת לנצל טוב יותר את המעבדים המודרניים.
בתחום הקריפטוגרפיה, systemd-integrity-setup מרחיב את האלגוריתמים הנתמכים שלו וכעת תומך ב-HMAC-SHA256, PHMAC-SHA256 ו-PHMAC-SHA512, ובכך מחזק את מגוון האפשרויות להבטחת שלמות נתונים ותצורות רגישים.
שינוי אחד שמנהלים רבים ישימו לב אליו הוא שמצב אחסון היומנים המוגדר כברירת מחדל הוא כעת "מתמיד" במקום "אוטומטי". משמעות הדבר היא שבתנאי שיש תמיכה, יומני רישום יישמרו לצמיתות בדיסק כברירת מחדל, מה שמקל על ביקורות ואבחון ללא צורך להתאים ידנית את התצורה הראשונית.
דרישות מינימום תובעניות יותר: רק עבור פלטפורמות מודרניות
גרסה 259 מגיעה גם עם עלייה משמעותית בדרישות המערכת המינימליות להפעלת systemd בתנאים נתמכים. החלטה זו מחזקת את ההתאמה שלה לפלטפורמות מודרניות יותר.
בין הדרישות שפורסמו, glibc 2.34 בולטת כגרסה המינימלית , אשר שוללת באופן ישיר סביבות המעוגנות בספריות C ישנות מאוד. לינוקס 5.10 נדרשת גם כגרסת הליבה , אם כי המפתחים ממליצים על ענף 5.14 עבור ביצועים התואמים יותר את התכונות הנוכחיות.
בתחום הקריפטוגרפיה, OpenSSL 3.0.0 הופך לסטנדרט המינימלי החדש , ומחליף גרסאות קודמות עם מחזורי תמיכה המתקרבים לסיומם. הסטנדרט משלים גם תלויות כגון cryptsetup 2.4.0 ו-libseccomp 2.4.0, הנחוצות לניצול נכון של תכונות ההצפנה והבידוד.
systemd 259 דורש גם Python 3.9 ומעלה עבור כלים וסקריפטים מסוימים , מה שאומר שמערכות עם ענפים ישנים יותר של Python יצטרכו לעבור שדרוג אם הן רוצות לשמור על זרימות עבודה משולבות ללא תיקונים נוספים.
בנוסף, כלולים רכיבים חיוניים כגון libxcrypt 4.4.0, util-linux 2.37 וספריות משתמש נוספות , כולם במטרה לאחד את הבסיס הטכנולוגי בגרסאות המבטיחות אבטחה ועקביות עם שאר המערכת האקולוגית.
כתופעת לוואי, דרישות אלו עשויות להגביל את אימוץ systemd 259 בחומרה ישנה יותר או בהפצות שמרניות מאוד , אך יחד עם זאת הן מפשטות את תחזוקת הקוד ומפחיתות את הצורך להעביר תאימות עם ממשקי API מיושנים.
השפעה על ההפצה ועל המשתמש הסופי
בפועל, עבור רוב משתמשי שולחן העבודה, עדכוני systemd אינם בדרך כלל רגע קריטי . בהפצות נקודתיות (האלו האופייניות שמתעדכנות מעת לעת עם גרסאות עיקריות), זה נורמלי שגרסת systemd תישאר קפואה לאורך כל מחזור החיים שלה, למעט תיקוני אבטחה או יציבות גדולים.
אלו שמעדיפים שתמיד יהיו בעלי הגרסה העדכנית ביותר של המערכת בדרך כלל בוחרים בהפצות מתגלגלות, כמו Arch Linux או openSUSE Tumbleweed, שם systemd 259 יגיע בקרוב יחסית וישולב במהירות בזרימת העדכונים.
פרויקטים אחרים, כמו פדורה, מקפידים על מדיניות של שמירה על אותה גרסה עיקרית של systemd לאורך כל תוחלת החיים של כל מהדורה יציבה, מה שמספק יכולת חיזוי גדולה יותר בתמורה לפיגור קל בהשוואה למהדורה הגולמית האחרונה.
בינתיים, עולם ההפצות הנגזרות, כמו לינוקס מינט או הגרסאות שלה המבוססות על אובונטו LTS, נוטה להסתנכרן עם קצב המערכת הבסיסית עליה הן בנויות . לדוגמה, לינוקס מינט 22.3 כוללת את systemd 255 ואינה מאמצת באופן מיידי את 259, תוך מתן עדיפות ליציבות על פני המירוץ לגרסה העדכנית ביותר.
עבור מנהלים חסרי מנוחה ואלו המתלהבים מתכונות חדשות, תמיד קיימת האפשרות לבדוק את systemd 259 בסביבות בדיקה או בהפצות מתגלגלות , להעריך תאימות, השפעה על שירותים מרכזיים והתנהגות עם חומרה ספציפית לפני שחושבים על הגירות בייצור.
לינוקס מינט 22.3 כניגוד: יציבות מול חוד החנית
כנקודת נגד, כדאי להעיף מבט ב- Linux Mint 22.3 "Zena ", המשמשת דוגמה מובהקת לאופן שבו הפצות מסוימות נותנות עדיפות ליציבות בעוד שמערכת האקולוגיה של systemd ממשיכה להתפתח באופן עצמאי. גרסה זו מוצגת כעדכון האחרון בסדרה הנוכחית ומומלצת לכל סוגי המשתמשים, עם תמיכה מובטחת עד אפריל 2029.
Mint 22.3 מבוססת על Ubuntu LTS, עם מחסנית מעודכנת אך שמרנית , ומגיעה עם ליבת לינוקס 6.14 שתוכננה, בין היתר, להציע תמיכה טובה יותר לדור האחרון של מעבדי AMD. היא כוללת גם את systemd 255 ו-Mesa 25, ויוצרת סביבה מודרנית ללא הסיכונים הכרוכים בשדרוג לגרסה העדכנית ביותר של כל רכיב.
ההפצה מתמקדת בעיקר בשיפור חוויית שולחן העבודה . Cinnamon 6.6, סביבת העבודה העיקרית שלה, כוללת תפריט יישומים מעוצב מחדש, מודרני וגמיש יותר עם פינות מעוגלות וסרגל צד המקבץ קיצורי דרך, מיקומים ויישומים מועדפים של המשתמש. קטגוריות נדחקות אחורה כדי לתת בולטות ישירה יותר לאפליקציות עצמן.
תפריט זה לא רק קיבל מראה חדש, אלא גם עבר שיפוץ פנימי יסודי , עם קוד מודרני יותר המשפר את הניווט במקלדת, רענון התוכן ותחזוקה עתידית. המטרה היא שהמשתמשים יחוו חוויית משתמש חלקה יותר ושהפרויקט יקבל בסיס יציב יותר לפיתוח עתידי.
יתר על כן, Mint מחזקת את התמיכה בפריסות מקלדת ושיטות קלט , ומאחדת את הטיפול בפריסות מסורתיות ובשיטות מבוססות IBus. זה מאפשר לשלב פריסות XKB עם שיטות מורכבות, למשל עבור יפנית או סינית, דבר שחשוב בסביבות רב-לשוניות.
כל העבודה הזו תואמת את האסטרטגיה העתידית של Mint ו-Cinnamon: הבטחת תאימות מלאה עם Wayland . עד כה, תמיכת המקלדת תחת Wayland הייתה מוגבלת למדי, אך עם גרסה זו, גם פריסות סטנדרטיות וגם שיטות קלט פועלות כהלכה, והמקלדת שעל המסך נכתבה מחדש באופן טבעי, ובכך מבטלת תלות חיצונית.
למרות ההתקדמות הללו, Cinnamon עדיין פועל על X11 כברירת מחדל, למרות שהוא מציע סשן ניסיוני עם Wayland שעדיין אינו מומלץ לסביבות ייצור. סשן זה, עם זאת, משמש כקרקע ניסויים לשיפורים במנהל החלונות של Muffin וברכיבים מרכזיים אחרים.
סביבת שולחן העבודה הושלמה עם שיפורים ב-Nemo 6.6, מנהל הקבצים, אשר מוסיף מנהל תבניות מקיף יותר , מאפשר השהייה וחידוש של פעולות קבצים, משפר את דיוק החיפוש ומשפר את הטיפול בתמונות ממוזערות ובלוחות מפוצלים. הוא גם מציג אינדיקטורים חזותיים ברורים יותר עבור התראות ממתינות ויישומון החלפת סביבת עבודה אינטואיטיבי יותר.
בנוסף, ישנם מספר התאמות קטנות ברחבי המערכת : יישומון תאורת לילה עם אפשרויות נוספות, שיפורים בקנה מידה חלקי, אפשרויות תצורה נוספות בבורר Alt-Tab, ובורר ערכות נושא שאורגן מחדש לפי משפחות ווריאציות, שנועד לפשט את התאמה אישית של המראה.
כאשר Mint 22.3 סוגרת את המחזור שלה ומכינה את הקרקע עבור לינוקס Mint 23, המבוססת על אובונטו 26.04 LTS הקרובה, הניגוד עם systemd 259 ניכר: מסגרת המערכת מתקדמת בקצב מסחרר , בעוד שהפצות מכוונות יציבות בוחרות בקפידה אילו קפיצות טכנולוגיות לשלב בכל רגע.
עם כל האלמנטים הללו במקומם, systemd 259 מהווה אבן דרך משמעותית באבולוציה של מנהל ה-init וה-service , תוך שבירת התלות הבלעדית שלו ב-glibc, חיזוק האבטחה עם TPM 2.0, שיפור כלים כמו run0 ו-systemd-oomd, והעלאת הרף לדרישות להתאמה ללינוקס העכשווית. אלו שרוצים לנצל את מלוא היתרונות של תכונות חדשות אלו יצטרכו להשקיע בפלטפורמות ובחומרה תואמות, בעוד שהפצות שמרניות יותר ימשיכו לקבוע את הקצב שלהן כדי לאזן בין יציבות, תמיכה ארוכת טווח ואימוץ הדרגתי של יכולות אלו.