systemd ב-postmarketOS
לאחרונה ה מפתחי פרויקט postmarketOS, הכריזו באמצעות פוסט בבלוג החדשות של ההקדמה של systemd לבניית מערכת. ה סיבה עיקרית ליישם תמיכה מערכתית הוא הקושי לשמור מחסנית אתחול המבוססת על OpenRC מתמודד עם התלות הגוברת ב-GNOME וב-KDE של רכיבי מערכת.
הזמינות של שימוש ב-systemd כמנהל מערכת מגיעה לאחר שנה של עבודה והגדרת אב טיפוס באמצעות systemd במקום מערכת האתחול OpenRC הוכנה והוכנה לבדיקה.
מוזכר ש למרות התוספת של systemd, התמיכה תמשיך להיות מסופקת יצירת מבנים על בסיס OpenRC ב-postmarketOS, לפחות כל עוד המערכת הזו ממשיכה לשמש ב-Alpine Linux. האפשרות לבחור OpenRC תהיה זמינה בעת יצירת תמונות postmarketOS באמצעות pmbootstrap. בנוסף, OpenRC ימשיך לשמש מפתחי assembly העובדים עם המעטפת הגרפית Sxmo (Simple X Mobile), המבוססת על ה-Sway Composite Manager.
מצד שני, בנייה עם systemd עדיין תהיה מבוססת על חבילת הבסיס של Alpine Linux, למרות העובדה שלהפצה זו אין תמיכה רשמית ב-systemd ומשתמשת בספריית Musl C במקום Glibc C, התואמת ל-systemd. מפתחי postmarketOS מיישמים תיקונים נוספים לשילוב systemd עם Musl C ומתכננים לשתף פעולה עם מפתחי systemd כדי לפשט את האינטגרציה הזו בעתיד.
כמובן שזו משימה לא קלה, אחד המכשולים העיקריים שאנו נתקלים בהם ככל שאנו משתפים פעולה באופן הדוק יותר עם מפתחי KDE ו-GNOME הוא שיש להם קשיים עם המחסנית שלנו מבוססת OpenRC. כדי לגרום ל-KDE ו-GNOME לעבוד, אנו משתמשים ב-polyfills רבים של מערכת בנוסף ל-OpenRC. לכן, למרות שמבחינה טכנית "אנחנו לא משתמשים ב-systemd", בפועל אנחנו כבר משתמשים בחלק גדול מהרכיבים שלו כדי להריץ KDE ו-GNOME, רק גרסאות שונות של אותם רכיבים
כדי להבטיח את הפונקציונליות של GNOME ו-KDE בהתבסס על systemd, נדרשו תחזוקה של מספר שכבות נוספות, ועבודה ללא systemd פירושה תחזוקה נכונה של שכבות אלו וסנכרון עם פיתוח GNOME ו-KDE, מה שהציב אתגרים משמעותיים ואי ודאות מסוימת בתחזוקה השוטפת של המפתחים.
בנוסף לכך, המפתחים מזכירים זאת יושמו שכבות וחבילות שונות כדי להבטיח תמיכה בשירותי שם מארח, לוקליזציה וחותמת זמן ב-postmarketOS. זה Tאו כללו את השימוש ב-openrc-settingsd לתמיכה בשירותי שם מארח, eudev במקום udev לניהול מכשירים, elogind במקום logind לניהול הפעלה של משתמשים, וכן יומן יומן במקום ג'ורנלד לניהול יומנים וחבילת superd שימשה לספק פונקציונליות דומה ל- «systemd – משתמש» ולהחליף systemd.timer עם התעורר.
עם זאת, תחזוקה ותמיכה נאותים מובטחות רק עבור openrc-settingsd ו-eudev. פרויקטים כמו elogind, יומן וסופרד עדיין דורשים שיפורים, מכיוון שהם חסרים כמה תכונות נחוצות, ו התעורר זה לא טופל במשך כשנה. בנוסף, מפתחי KDE Plasma Mobile הביעו עניין בשימוש systemd-coredumpd כדי לפשט את ניפוי הבאגים, אבל להחליף אותו, אספן ליבה, הוא לא קיבל תחזוקה מאז 2020.
שירותים אלו נדרשים עבור פונקציות שונות ב-GNOME ובאפליקציות אחרות. לדוגמה, ה-API של D-Bus המסופק על ידי שם מארח, מקומי ומתוזמן הוא משמש ב-GNOME כדי לשנות הגדרות אזוריות ואזור זמן. Udev נדרש לנהל מכשירים מחוברים, תוך כדי התחברות, "systemd – משתמש» ו-journald משמשים לניהול הפעלות משתמשים ב-gnome-session. משתמש בשעון GNOME systemd.timer על הפונקציונליות שלו.
En במונחים של תכונות חדשות שניתן ליישם עם בניית מערכות מבוססות, כולל ניהול הרשאות מפורטות, שימוש בתכונות מתקדמות להבטחת אבטחה וניהול תלות בין שירותים, אינטגרציה מלאה עם cgroups, הפעלת שקעים להפעלת שירותים לפי הצורך (לדוגמה, ניתן להפעיל את CUPS רק על ידי גישה ליציאת הרשת), והזמינות של כלים מובנים לניתוח תהליך האתחול.
סוף סוף אם אתה מעוניין לדעת יותר על זה, אתה יכול לבדוק את הפרטים ב הקישור הבא.