Demystifying SystemD

בכל יום המחשבים שלנו הופכים לחלק חשוב יותר ויותר בחיינו; אם יש להם איזושהי בעיה, זה משפיע על מצב הרוח שלנו, על ההומור שלנו, חחח. כמובן, משתמשי Windows נוטים יותר להתקפי פאניקה: וירוסים ( יחי לינוקס! ), איחוי כונן קשיח, מציאת והתקנת Clean Master למחשב ( אם כי כאן בלינוקס אנחנו צריכים גם לנקות את המערכת; BleachBit היא אחת החלופות המועדפות ). לאחרונה, חלק ממשתמשי לינוקס חווים כאב ראש מסוים שנקרא systemd.

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

Systemd , אשר חלק מהמשתמשים רואים בו ( ואני אשתמש במילותיו של חבר ) כ"טבעת אחת שתשלוט בכולם "... לאחרים, שהם פשוט אדישים; כל עוד המחשב עובד כראוי, לא אכפת להם אם init עושה X או Y, או אם משתמשים ב-systemd. באשר אליי, ובכן... בואו נגיד שאני מעדיף init; אני מוצא את זה פשוט יותר.

אני משאיר את המאמר כאן:

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

systemd מבוסס על בינארי

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

systemd מוגדר כמעט אך ורק באמצעות קבצי טקסט רגיל. כמה הגדרות שניתן לשנות גם באמצעות שורת הפקודה של הליבה ובאמצעות משתני סביבה. אין שום דבר בינארי בתצורה שלך (אפילו לא XML). פשוט קובץ טקסט פשוט, פשוט וקל לקריאה.

אוהדי מערכת הומר סימפסון

הדבר הזה הוא מונוליטי והוא שולט בהכל

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

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

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

זה לא נראה כמו יוניקס

בהחלט יש בכך אמת. קבצי המקור של המערכת אינם מכילים שורת קוד אחת משורות UNIX המקוריות. עם זאת, ההשראה נגזרת מ- UNIX, ולכן יש הרבה UNIX ב- systemd. דוגמה תהיה רעיון ה- UNIX "הכל קובץ" שבא לידי ביטוי בכך שב- systemd כל השירותים נחשפים בזמן ריצה במערכת קבצי ליבה, קבוצות. אז אחד המאפיינים המקוריים של UNIX היה תמיכה מרובת מושבים, המבוססת על תמיכה מובנית במסוף. עם מערכת הביאנו תמיכה מרובת מושבים באופן מקורי, אך הפעם עם תמיכה מלאה בחומרה של ימינו, המכסה גרפיקה, עכברים, שמע, מצלמות רשת ועוד. למעשה העיצוב של המערכת כחבילת כלים משולבים שלכל אחד מהם יש את המטרות האישיות שלהם, אך כאשר משתמשים בו יחד הם יותר מסכום החלקים, שהוא פחות או יותר בבסיס הפילוסופיה של UNIX. כך שאופן הטיפול בפרויקט שלנו (כלומר שמירת מרבית ליבת מערכת ההפעלה במאגר git יחיד) קרוב הרבה יותר למודל ה- BSD (שהוא UNIX אמיתי, בניגוד לינוקס) כדי לבצע את הדברים (שם רוב מערכת ההפעלה הליבה נשמרת במאגר CVS / SVN יחיד) שמעולם לא היה המקרה בלינוקס.

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

זה מאוד מורכב ...

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

זה לא מאפשר לי להשתמש בתסריטי מעטפת

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

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

ראיתי את המאמר ב-GUTL (שנלקח מ- DesdeAbreus )

שופר-1984

זרם מערכת?

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

ראשית, התפרצות גלויה של משתמש על systemd בשם systemd VS intelligence , לאחר מכן לינוס טורוואלדס שאומר ש- systemd לא גרוע כפי שמציגים אותו ( ויש לו נקודה ), פורק בשם uselessed ... אין תגובות... ולבסוף, Devuan.

אני לא אגיד אם זה גרוע כמו שאומרים, פחות גרוע, או גרוע יותר. המערכת עובדת בסדר גמור בשבילי, אבל באופן אישי הייתי מעדיף את init, כי אני אוהב את הדרך שבה היא מארגנת דברים שונים (כמו יומנים, למשל). אבל היי, אם systemd ייקרא סוס מרוץ ויצטרך להחליף את init ( האם זה יהיה סוס העבודה שלנו, שיעשה הכל אבל לאט? ), ובכן... כל עוד השינוי לא דרסטי מדי, משתמשים יכולים להסתגל בלי יותר מדי בעיות, והמערכת עובדת טוב יותר (כן, טוב יותר, אולי זה לא יספיק לי!), אז ברוך הבא! 😉


הוסף כמקור מועדף בגוגל