Inittab-Linux / פיקוד יוניקס

inittab - פורמט הקובץ inittab המשמש את תהליך ה- sysv תואם

תיאור

קובץ inittab מתאר אילו תהליכים מופעלים בעת אתחול ובמהלך פעולה רגילה (למשל /etc/init.d/boot, /etc/init.d/rc, gettys ...). Init (8) מבדיל runlevels מרובים, כל אחד מהם יכול להיות קבוצה משלו של תהליכים אשר נכתבו. Vallevels תקפים הם 0 - 6 פלוס A , B , ו- C עבור ערכי indemand . רשומה בקובץ inittab כוללת את הפורמט הבא:

id: runlevels: פעולה: תהליך

שורות שמתחילות ב- '#' אינן מתעלמות.

מזהה הוא רצף ייחודי של 1-4 תווים המזהה רשומה ב- inittab (עבור גירסאות של sysvinit הידור עם ספריות <5.2.18 או ספריות a.out המגבלה היא 2 תווים).

הערה: עבור gettys או תהליכי כניסה אחרים, שדה המזהה צריך להיות סיומת tty של tty המתאים, למשל 1 עבור tty1 . אחרת, ייתכן שחשבונות הכניסה לא יפעלו כהלכה.

runlevels מפרט את runlevels שעבורם הפעולה שצוינה צריכה להילקח.

הפעולה מתארת ​​איזו פעולה יש לנקוט.

תהליך מציין את התהליך להתבצע. אם שדה התהליך מתחיל עם תו '+', init לא יעשה utmp ו wtmp חשבונאות עבור תהליך זה. זה נחוץ עבור gettys כי מתעקשים לעשות משלהם utmp / wtmp housekeeping. זהו גם באג היסטורי.

השדה runlevels עשוי להכיל מספר תווים עבור runlevels שונים. לדוגמה, 123 מציין כי התהליך צריך להיות מופעל ב runlevels 1, 2, ו 3. runlevels עבור רשומות ondemand עשוי להכיל A , B , או C. השדות runlevels של ערכי sysinit , boot ו- bootwait מתעלמים.

כאשר מערכת runlevel משתנה, כל התהליכים הפועלים שאינם מפורטים עבור runlevel החדש נהרגים, תחילה עם SIGTERM, ולאחר מכן עם SIGKILL.

פעולות חוקיות עבור שדה הפעולה הן:

מחיר SONY

התהליך יופעל מחדש בכל פעם שהוא מסתיים (לדוגמה, גטי).

לַחֲכוֹת

התהליך יופעל פעם אחת כאשר runlevel שצוין הוא נכנס ו- init יחכה לסיומה.

פַּעַם

התהליך יבוצע פעם אחת עם הזנת runlevel שצוין.

מַגָף

התהליך יבוצע במהלך אתחול המערכת. השדה runlevels מתעלם.

bootwait

התהליך יבוצע במהלך אתחול המערכת, בעוד init מחכה סיומה (למשל / etc / rc). השדה runlevels מתעלם.

כבוי

זה לא עושה כלום.

לפי דרישה

תהליך המסומן עם runlevel ondemand יבוצע בכל פעם שנקבע runlevel ondemand נקרא. עם זאת, לא יהיה שינוי runlevel להתרחש ( ondemand runlevels הם 'א', 'b', ו 'ג').

initdefault

ערך initdefault מציין את runlevel שאמור להיות נכנס לאחר אתחול המערכת. אם לא קיים, init יבקש runlevel על המסוף. מתעלמים משדה התהליך .

sysinit

התהליך יבוצע במהלך אתחול המערכת . זה יבוצע לפני כל האתחול או bootwait ערכים. השדה runlevels מתעלם.

כוח

התהליך יבוצע כאשר הכוח יירד. היוזמה מתעדכנת בדרך כלל על ידי תהליך המשוחח עם UPS המחובר למחשב. הודעה ראשונית תמתין לסיום התהליך לפני שתמשיך.

כוח

באשר powerwait , אלא כי init אינו ממתין להשלמת התהליך.

כוח

תהליך זה יבוצע מיד עם תחילת האינפורמציה שהכוח שוחזר.

כוח

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

ctrlaltdel

התהליך יבוצע כאשר יזם מקבל את האות SIGINT. פירוש הדבר שמישהו בקונסולת המערכת לחץ על שילוב המקשים CTRL-ALT-DEL . בדרך כלל אתה רוצה לבצע איזשהו כיבוי או להיכנס לרמה של משתמש יחיד או לאתחל את המכונה.

kbrequest

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

התיעוד של פונקציה זו אינו שלם עדיין; תיעוד נוסף ניתן למצוא את חבילות kbd-x.xx (האחרונה היתה kbd-0.94 בזמן כתיבת שורות אלה). בעיקרון אתה רוצה למפות כמה שילוב מקלדת לפעולה "KeyboardSignal". לדוגמה, כדי למפות Alt-Uparrow למטרה זו השתמש בקבצים הבאים בקובץ keymaps:

103 keySignal

דוגמאות

זוהי דוגמה של inittab אשר דומה לינוקס לינוקס הישן:

# inittab עבור id linux: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: / וכו '/ גטי 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

זה הקובץ inittab מבצעת / etc / rc במהלך האתחול מתחיל gettys על tty1-tty4.

א יותר משוכלל inittab עם runlevels שונים (ראה את ההערות בפנים):

# רמה לפעול ב id: 2: initdefault: # אתחול המערכת לפני כל דבר אחר. si :: sysinit: /etc/rc.d/bcheckrc # Runlevel 0,6 הוא עצור ולאתחל, 1 הוא מצב תחזוקה. l0: 0: לחכות: /etc/rc.d/rc.halt l1: 1: לחכות: /etc/rc.d/rc.single l2: 2345: המתן: /etc/rc.d/rc.multi l6: 6: המתן: /etc/rc.d/rc.reboot # מה לעשות ב "3 אצבע הצדעה". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf עכשיו # Runlevel 2 & 3: getty על קונסולת, רמה 3 גם getty על יציאת המודם. 1: 23: resawn: / sbin / getty tty1 VC לינוקס 2: 23: respawn: / sbin / getty tty2 VC לינוקס 3: 23: respawn: / sbin / getty tty3 VC לינוקס 4: 23: respawn: / sbin / getty tty4 VC לינוקס S2: 3: respawn: / sbin / utyty ttys2 M19200

ראה גם

(8), telinit ( 8)

חשוב: השתמש בפקודת הגבר ( % man ) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.