מה הם Runlevels על לינוקס?
כאשר מערכת לינוקס אתחול, זה נכנס runlevel ברירת המחדל שלה ומפעיל את סקריפטים ההפעלה הקשורים זה runlevel. ניתן גם לעבור בין runlevels - לדוגמה, יש runlevel המיועד לפעולות התאוששות ותחזוקה.
באופן מסורתי, לינוקס השתמשה בסקריפטים של סיסטם ה- System V - בעוד שמערכות איניטציה חדשות ימשיכו בסופו של דבר ליישב את הרצות המסורתיות, עדיין לא. לדוגמה, מערכת Upstart של אובונטו עדיין משתמשת בסקריפטים מסורתיים בסגנון מערכת V.
מה זה Runlevel?
כאשר מערכת לינוקס המגפיים, היא משיקה את init תהליכים. init אחראי על השקת התהליכים האחרים במערכת. לדוגמה, כאשר אתה מפעיל את המחשב לינוקס, הקרנל מתחיל init, ו- init מבצעת את סקריפט ההפעלה כדי לאתחל את החומרה, להעלות את הרשת, להפעיל את שולחן העבודה הגרפי שלך.
עם זאת, אין רק קבוצה אחת של startup סקריפטים startup מבצעת. יש רמות הפעלה מרובות עם סקריפטים של סטארט-אפים משלהם - לדוגמה, runlevel אחד עשוי להעלות את הרשת ולהפעיל את שולחן העבודה הגרפי, בעוד ש- runlevel אחר עלול לעזוב את הרשת ולהשבית את שולחן העבודה הגרפי. זה אומר שאתה יכול להוריד מ "מצב שולחן העבודה הגרפי" ל "מצב קונסולת טקסט ללא חיבור לרשת" עם פקודה אחת, מבלי להתחיל באופן ידני ולעצור שירותים שונים.
באופן ספציפי יותר, init מפעילה את הסקריפטים הממוקמים בספריה מסוימת המתאימה ל- runlevel. לדוגמה, בעת הזנת runlevel 3 ב- Ubuntu, init מפעיל את הסקריפטים הנמצאים בספריה /etc/rc3.d.
לפחות, כך זה עובד עם מערכת מסורתית מערכת V init - החלוקות לינוקס מתחילים להחליף את המערכת הישנה מערכת ה- V init. בעוד ש- Upstart של אובונטו שומרת על תאימות עם סקריפטים של SysV init, סביר להניח שזה ישתנה בעתיד.
את Runlevels
כמה runlevels הם סטנדרטיים בין הפצות לינוקס, בעוד כמה runlevels משתנים החלוקה להפצה.
Runlevels הבאים הם סטנדרטיים:
- 0 - עצור (סוגר את המערכת).
- 1 - מצב משתמש יחיד (המערכת עוברת למצב superuser מבלי להפעיל את הדמונים או הרשתות.) אידיאלי עבור אתחול לסביבת שחזור או אבחון.)
- 6 - אתחל מחדש
Runlevels 2-5 להשתנות בהתאם ההפצה. לדוגמה, על אובונטו ודביאן, 2-5 runlevels זהים ומספקים מצב מלא מרובה משתמשים עם רשת וחיבור גרפי. על פדורה ורד האט, runlevel 2 מספקת מצב מרובה משתמשים ללא חיבור לרשת (קונסולת כניסה בלבד), runlevel 3 מספק מצב משתמש מרובה עם חיבורי רשת (קונסולת התחברות בלבד), runlevel 4 אינו בשימוש, ו- runlevel 5 מספק מצב משתמש מרובה רשת וחיבור גרפי.
מעבר ל Runlevel שונים
כדי לעבור למצב Runlevel אחר כאשר המערכת כבר פועלת, השתמש בפקודה הבאה:
sudo telinit #
החלף # עם מספר runlevel שברצונך לעבור אליו. השמיט sudo והפעל את הפקודה כשורש אם אתה מפעיל הפצה שאינה משתמשת ב- sudo.
אתחול ישירות ל Runlevel ספציפי
אתה יכול לבחור runlevel לאתחל מתוך מטעין אתחול - גראב, למשל. בתחילת תהליך האתחול, לחץ על מקש כדי לגשת ל- Grub, בחר את ערך האתחול ולחץ על e כדי לערוך אותו.
אתה יכול להוסיף יחיד עד סוף לינוקס line כדי להזין את runlevel למשתמש יחיד (runlevel 1). (הקש Ctrl + x כדי לבצע אתחול לאחר.) אפשרות זו זהה לאפשרות 'מצב שחזור' ב- Grub.
באופן מסורתי, תוכל לציין מספר כפרמטר של ליבה ואתה תאותחל ל runlevel - לדוגמה, באמצעות 3 במקום יחיד כדי לאתחל את runlevel 3. עם זאת, זה לא נראה לעבוד על הגרסאות העדכניות של אובונטו - Upstart לא נראה לאפשר את זה. באופן דומה, איך אתה משנה את ברירת המחדל runlevel יהיה תלוי ההפצה שלך.
בעוד שדמון Upstart של אובונטו עדיין מחקה את מערכת ה- SYSTEMV, רוב המידע הזה ישתנה בעתיד. לדוגמה, Upstart מבוסס על אירוע - הוא יכול לעצור ולהפעיל שירותים כאשר מתרחשים אירועים (לדוגמה, שירות יכול להתחיל כאשר התקן חומרה מחובר למערכת ולהפסיק עם הסרת המכשיר). לפדורה יש גם יורשה משלה לאתחל, systemd.