/ / ما هي "مستويات التشغيل" على نظام Linux؟

ما هي "مستويات التشغيل" على نظام Linux؟

صورة

عند بدء تشغيل نظام Linux ، يدخل النظام الافتراضي الخاص بهrunlevel ويقوم بتشغيل البرامج النصية لبدء التشغيل المرتبطة بهذا المستوى. يمكنك أيضًا التبديل بين مستويات التشغيل - على سبيل المثال ، هناك مستوى التشغيل المصمم لعمليات الاستعادة والصيانة.

تقليديًا ، استخدم Linux نظام الحرف الأول على نمط Vالبرامج النصية - في حين أن أنظمة التهيئة الجديدة ستنتهي في نهاية المطاف من مستويات التشغيل التقليدية ، فإنها لم تفعل ذلك بعد. على سبيل المثال ، لا يزال نظام Upstart في Ubuntu يستخدم البرامج النصية التقليدية لنظام V.

ما هو Runlevel؟

عندما يقوم نظام Linux بالتمهيد ، فإنه يطلق فيه العمليات. الحرف الأول هو المسؤول عن إطلاق العمليات الأخرى على النظام. على سبيل المثال ، عند بدء تشغيل كمبيوتر Linux ، يبدأ kernel init ، ويقوم init بتنفيذ البرامج النصية لبدء التشغيل لتهيئة أجهزتك ، وإقامة الشبكات ، وبدء تشغيل سطح المكتب الرسومي.

ومع ذلك ، لا يوجد سوى مجموعة واحدة منتنفيذ البرامج النصية لبدء التشغيل. هناك مستويات تشغيل متعددة مع البرامج النصية لبدء التشغيل الخاصة بهم - على سبيل المثال ، قد يؤدي مستوى التشغيل الأول إلى إنشاء شبكة وتشغيل سطح المكتب الرسومي ، في حين أن مستوى التشغيل الآخر قد يترك الشبكة معطلة ويتخطى سطح المكتب الرسومي. هذا يعني أنه يمكنك الإسقاط من "وضع سطح المكتب الرسومي" إلى "وضع وحدة التحكم في النص دون الربط الشبكي" بأمر واحد ، دون بدء تشغيل الخدمات المختلفة وإيقافها يدويًا.

بشكل أكثر تحديدًا ، يدير الحرف النصي النصوص الموجودةفي دليل معين يتوافق مع مستوى التشغيل. على سبيل المثال ، عند إدخال مستوى التشغيل 3 على Ubuntu ، فإن init تقوم بتشغيل البرامج النصية الموجودة في دليل /etc/rc3.d.

صورة

على الأقل ، هذا هو كيف يعمل مع التقليديةSystem init init system - توزيعات Linux بدأت تحل محل نظام init V القديم. بينما تحتفظ Ustuntu's Upstart حاليًا بالتوافق مع البرامج النصية لـ SysV ، فمن المرجح أن يتغير هذا في المستقبل.

الرونفلز

تعد بعض مستويات التشغيل قياسية بين توزيعات Linux ، بينما تختلف بعض مستويات التشغيل من التوزيع إلى التوزيع.

مستويات التشغيل التالية قياسية:

  • 0 - وقف (يغلق النظام.)
  • 1 - وضع المستخدم المفرد (يقوم النظام بالتمهيد في وضع الخارق دون بدء تشغيل الشياطين أو الشبكات. مثالي للتشغيل في بيئة استرداد أو تشخيص.)
  • 6 - اعادة التشغيل

تختلف مستويات التشغيل 2-5 حسب التوزيع. على سبيل المثال ، على Ubuntu و Debian ، مستويات التشغيل 2-5 هي نفسها وتوفر وضعًا متعدد المستخدمين كاملاً مع الشبكات وتسجيل الدخول الرسومي. على Fedora و Red Hat ، يوفر runlevel 2 وضع متعدد المستخدمين دون التواصل (تسجيل الدخول إلى وحدة التحكم فقط) ، ويوفر runlevel 3 وضع متعدد المستخدمين مع الشبكات (تسجيل الدخول إلى وحدة التحكم فقط) ، و runlevel 4 غير مستخدم ، ويوفر مستوى التشغيل 5 وضع متعدد المستخدمين مع الشبكات والدخول الرسومية.

التحول إلى مستوى مختلف

للتبديل إلى مستوى تشغيل مختلف أثناء تشغيل النظام بالفعل ، استخدم الأمر التالي:

sudo telinit #

استبدل # برقم المستوى التشغيلي الذي تريد التبديل إليه. تجاهل sudo وقم بتشغيل الأمر كجذر إذا كنت تدير توزيعًا لا يستخدم sudo.

صورة

تمهيد مباشرة إلى Runlevel محددة

يمكنك تحديد مستوى تشغيل للتمهيد من محمل الإقلاع - Grub ، على سبيل المثال. في بداية عملية التمهيد ، اضغط على مفتاح للوصول إلى Grub ، وحدد إدخال التمهيد الخاص بك ، واضغط على e لتحريره.

sshot-1

يمكنك إضافة غير مرتبطة إلى نهاية لينكس خط لدخول المستوى التشغيلي للمستخدم المفرد (المستوى التشغيلي 1). (اضغط على Ctrl + x للتمهيد بعد.) هذا هو نفسه خيار وضع الاسترداد في Grub.

صورة

تقليديًا ، يمكنك تحديد رقم كمعلمة kernel وكنت تقوم بالتمهيد إلى هذا المستوى - على سبيل المثال ، باستخدام 3 بدلا من غير مرتبطة للتمهيد إلى مستوى التشغيل 3. ومع ذلك ، يبدو أن هذا لا يعمل على أحدث إصدارات Ubuntu - يبدو أن Upstart لا يسمح بذلك. وبالمثل ، فإن كيفية تغيير مستوى التشغيل الافتراضي يعتمد على التوزيع الخاص بك.


بينما لا يزال برنامج أوبونتو الخفي مقلدًاSystemV init system ، سيتغير الكثير من هذه المعلومات في المستقبل. على سبيل المثال ، تعتمد Upstart على الأحداث - يمكنها إيقاف الخدمات وبدء تشغيلها عند حدوث الأحداث (على سبيل المثال ، يمكن أن تبدأ الخدمة عندما يكون الجهاز متصلاً بالنظام ويتوقف عند إزالة الجهاز.) يتمتع Fedora أيضًا بخلفه الخاص. إلى الحرف الأول ، systemd.