Inittab — Linux / Unix Command

inittab - تنسيق ملف inittab المستخدمة من قبل عملية init المتوافقة مع sysv

وصف

يصف ملف inittab العمليات التي يتم تشغيلها عند بدء التشغيل وأثناء التشغيل العادي (على سبيل المثال ، /etc/init.d/boot ، /etc/init.d/rc ، gettys ...). تمييز Init (8) يميز runlevels متعددة ، كل منها يمكن أن يكون به مجموعة العمليات الخاصة به التي يتم تشغيلها. صالحة runlevels 0 - 6 بالإضافة إلى A و B و C من أجل إدخالات ondemand . يحتوي الإدخال في ملف inittab على التنسيق التالي:

معرف: مستويات التشغيل: العمل: عملية

يتم تجاهل الأسطر التي تبدأ بـ `# '.

معرف هو تسلسل فريد من 1-4 أحرف الذي يحدد إدخال في inittab (لإصدارات sysvinit المترجمة مع المكتبات <5.2.18 أو a.out المكتبات ، الحد الأقصى هو حرفان).

ملاحظة: بالنسبة إلى gettys أو عمليات تسجيل الدخول الأخرى ، يجب أن يكون حقل id هو اللاحقة tty للقيمة tty المقابلة ، على سبيل المثال 1 لـ tty1 . خلاف ذلك ، قد لا تعمل محاسبة تسجيل الدخول بشكل صحيح.

يسرد runlevels runlevels التي ينبغي اتخاذها الإجراء المحدد.

الإجراء يصف الإجراء الذي يجب اتخاذه.

عملية تحدد العملية المراد تنفيذها. إذا كان حقل العملية يبدأ بحرف `+ ، فلن ينفِّذ init حساب utmp و wtmp لتلك العملية. هذا مطلوب من أجل gettys التي تصر على القيام بنفسها utmp / wtmp التدبير المنزلي. هذا أيضًا خطأ تاريخي.

قد يحتوي الحقل runlevels على أحرف متعددة من أجل runlevels مختلفة. على سبيل المثال ، يحدد 123 أن العملية يجب أن تبدأ في runlevels 1 و 2 و 3. قد يحتوي على runlevels لإدخالات ondemand على A أو B أو C. يتم تجاهل الحقل runlevels sysinit والتمهيد وإدخالات bootwait .

عند تغيير مستوى تشغيل النظام ، يتم قتل أي عمليات قيد التشغيل لم يتم تحديدها لمستوى التشغيل الجديد ، أولاً باستخدام SIGTERM ، ثم باستخدام SIGKILL.

الإجراءات الصحيحة لحقل الإجراء هي:

بيضة

ستتم إعادة تشغيل العملية متى يتم إنهاؤها (مثل getty).

انتظر

سيتم بدء العملية مرة واحدة عند إدخال مستوى التشغيل المحدد وستنتظر init الإنهاء.

ذات مرة

سيتم تنفيذ العملية مرة واحدة عند إدخال مستوى التشغيل المحدد.

حذاء

سيتم تنفيذ العملية أثناء تمهيد النظام. يتم تجاهل الحقل runlevels .

bootwait

سيتم تنفيذ العملية أثناء تمهيد النظام ، بينما ينتظر init إنهاءها (مثل / etc / rc). يتم تجاهل الحقل runlevels .

إيقاف

هذا لا يفعل شيئا.

على الطلب

سيتم تنفيذ العملية المحددة بعلامة مستوى التشغيل عند الطلب عند استدعاء مستوى التشغيل المحدد في onemand . ومع ذلك ، لن يحدث أي تغيير في مستوى التشغيل (يكون runlevels ondemand `a '، و b ، و c).

initdefault

يحدد الإدخال المبدئي مستوى التشغيل الذي يجب إدخاله بعد تمهيد النظام. إذا لم يكن موجودًا ، فسوف يطلب init مستوى تشغيل على وحدة التحكم. يتم تجاهل حقل العملية .

sysinit

سيتم تنفيذ العملية أثناء تمهيد النظام . سيتم تنفيذه قبل أي إدخالات تمهيد أو تمهيد . يتم تجاهل الحقل runlevels .

powerwait

سيتم تنفيذ العملية عندما تنخفض الطاقة. عادة ما يتم إعلام Init عن ذلك من خلال عملية تحدث إلى UPS متصل بالكمبيوتر. ستنتظر الخطوة الأولية حتى تنتهي العملية قبل المتابعة.

فشل طاقه

أما بالنسبة لـ powerwait ، إلا أن init لا تنتظر اكتمال العملية.

powerokwait

سيتم تنفيذ هذه العملية بمجرد أن يتم توجيه initormed إلى أنه تم استعادة الطاقة.

powerfailnow

سيتم تنفيذ هذه العملية عندما يتم إخبار init بأن بطارية UPS الخارجية فارغة تقريبًا وأن الطاقة قد فشلت (بشرط أن تكون UPS الخارجية وعملية المراقبة قادرة على اكتشاف هذا الشرط).

ctrlaltdel

سيتم تنفيذ العملية عندما يستلم init إشارة SIGINT. هذا يعني أن شخص ما على وحدة تحكم النظام ضغط تركيبة المفاتيح CTRL-ALT-DEL . عادةً ما يرغب أحد في تنفيذ نوع من إيقاف التشغيل إما للوصول إلى مستوى المستخدم الواحد أو لإعادة تشغيل الجهاز.

kbrequest

سيتم تنفيذ العملية عندما يستلم init إشارة من معالج لوحة المفاتيح تم الضغط على مجموعة مفاتيح خاصة على لوحة المفاتيح.

وثائق هذه الوظيفة لم تكتمل بعد ؛ يمكن العثور على مزيد من الوثائق في حزم kbd-x.xx (كان آخرها kbd-0.94 في وقت كتابة هذه السطور). بشكل أساسي تريد تعيين بعض تركيبة لوحة المفاتيح إلى الإجراء "KeyboardSignal". على سبيل المثال ، لتعيين Alt-Uparrow لهذا الغرض ، استخدم ما يلي في ملف keymaps الخاص بك:

alt keycode 103 = KeyboardSignal

أمثلة

هذا مثال على inittab الذي يشبه inittab القديم من Linux:

# inittab لمعرف linux: 1: initdefault: rc :: bootwait: / etc / rc 1: 1: respawn: / etc / getty 9600 tty1 2: 1: respawn: / etc / getty 9600 tty2 3: 1: respawn: / etc / getty 9600 tty3 4: 1: respawn: / etc / getty 9600 tty4

ينفذ ملف inittab هذا / etc / rc أثناء التمهيد ويبدأ gettys على tty1-tty4.

و inittab أكثر تفصيلا مع runlevels مختلفة (انظر التعليقات داخل):

# مستوى لتشغيل معرف: 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 # ما يجب فعله عند "تحية الإصبع الثلاثة". ca :: ctrlaltdel: / sbin / shutdown -t5 -rf now # Runlevel 2 & 3: getty on console، level 3 also getty on modem port. 1: 23: respawn: / sbin / getty tty1 VC linux 2: 23: respawn: / sbin / getty tty2 VC linux 3: 23: respawn: / sbin / getty tty3 VC linux 4: 23: respawn: / sbin / getty tty4 VC linux S2: 3: respawn: / sbin / uugetty ttyS2 M19200

أنظر أيضا

init (8)، telinit ( 8)

هام: استخدم الأمر man ( ٪ man ) لمعرفة كيفية استخدام أمر ما على جهاز الكمبيوتر الخاص بك.