/ / מה הם "מסלולי ריצה" ב- Linux?

מה הם "רצים" ב- Linux?

תמונה

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

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

מה מסלול ריצה?

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

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

ליתר דיוק, init מריץ את הסקריפטים הממוקמיםבספריה ספציפית שתואמת את מסלול הריצה. לדוגמה, כשאתה נכנס ל- runlevel 3 באובונטו, init מריץ את הסקריפטים שנמצאים בספריית /etc/rc3.d.

תמונה

לפחות כך זה עובד עם מסורתימערכת Vit של מערכת V - הפצות לינוקס מתחילות להחליף את מערכת ה- V Init הישנה. בעוד ש- Upstart של אובונטו שומר כיום על תאימות לסקריפטים של SysV init, סביר להניח שזה ישתנה בעתיד.

שדות הריצה

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

שדות הריצה הבאים הם סטנדרטיים:

  • 0 - עצור (מכבה את המערכת.)
  • 1 - מצב משתמש יחיד (המערכת נכנסת למצב של משתמש-על ללא התחלת דממונים או רשת. אידיאלי לאתחול בסביבת התאוששות או אבחון.)
  • 6 - אתחל מחדש

רמות 2-5 משתנות בהתאם להפצה. לדוגמה, באובונטו ובדביאן, רמות 2-5 זהות ומספקות מצב רב משתמשים מלא עם רשתות וכניסה גרפית. ב- Fedora ו- Red Hat, runlevel 2 מספק מצב מרובה משתמשים ללא רשת (כניסה לקונסולה בלבד), runlevel 3 מספק מצב מרובה משתמשים עם רשת (כניסה למסוף בלבד), רמה 4 אינה בשימוש, ו- runlevel 5 מספק מצב מרובה משתמשים עם רשת וכניסה גרפית.

מעבר למסלול מסלול אחר

כדי לעבור למסלול רמה אחר בזמן שהמערכת כבר פועלת, השתמש בפקודה הבאה:

sudo telinit #

החלף # את מספר מסלול הריצה שאליו ברצונך לעבור. השמט את sudo והפעל את הפקודה כשורש אם אתה מפיץ תפוצה שאינה משתמשת בסודו.

תמונה

אתחול ישירות למסלול ספציפי

אתה יכול לבחור מסלול רמה שאליו אתה יכול לאתחל ממטען האתחול - גרוב, למשל. בתחילת תהליך האתחול, לחץ על מקש כדי לגשת ל Grub, בחר את ערך האתחול ולחץ על e כדי לערוך אותו.

sshot-1

אתה יכול להוסיף יחיד עד הסוף לינוקס קו להכנסת מסלול הריצה של משתמש יחיד (רמה מפלס 1). (לחץ על Ctrl + x כדי לאתחל אחרי.) זהה לאפשרות של מצב התאוששות ב- Grub.

תמונה

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


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