عندما يقوم نظام Linux بالتمهيد ، فإنه يدخل في مستوى التشغيل الافتراضي الخاص به ويقوم بتشغيل البرامج النصية لبدء التشغيل المرتبطة بمستوى التشغيل هذا. يمكنك أيضًا التبديل بين مستويات التشغيل ؛ على سبيل المثال ، هناك مستوى تشغيل مصمم لعمليات الاسترداد والصيانة.
تقليديًا ، استخدم Linux البرامج النصية لبدء التشغيل على غرار System V ، بينما ستعمل أنظمة بدء التشغيل الأحدث في النهاية على إهمال مستويات التشغيل التقليدية ، إلا أنها لم تفعل ذلك بعد. على سبيل المثال ، لا يزال نظام Upstart في Ubuntu يستخدم البرامج النصية التقليدية على غرار System V.
ما هو مستوى الجري؟
عندما يقوم نظام Linux بالتمهيد ، فإنه يبدأ عمليات init . إن init مسؤولة عن بدء العمليات الأخرى على النظام. على سبيل المثال ، عند بدء تشغيل جهاز كمبيوتر Linux الخاص بك ، يبدأ kernel في البدء ، ويقوم init بتشغيل البرامج النصية لبدء التشغيل لتهيئة أجهزتك ، وفتح الشبكات ، وبدء سطح المكتب الرسومي.
ومع ذلك ، لا توجد مجموعة واحدة من البرامج النصية لبدء التشغيل التي يتم تنفيذها بواسطة init. هناك العديد من مستويات التشغيل مع نصوص بدء التشغيل الخاصة بها ؛ على سبيل المثال ، يمكن لمستوى تشغيل واحد فتح اتصال الشبكة وبدء تشغيل سطح المكتب الرسومي ، بينما يمكن لمستوى التشغيل الآخر ترك الشبكة معطلة وتجاوز سطح المكتب الرسومي. هذا يعني أنه يمكنك التبديل من “وضع سطح المكتب الرسومي” إلى “وضع وحدة التحكم النصية غير المتصلة” بأمر واحد ، دون بدء تشغيل الخدمات المختلفة وإيقافها يدويًا.
وبشكل أكثر تحديدًا ، ينفذ init البرامج النصية الموجودة في دليل معين يتوافق مع مستوى التشغيل. على سبيل المثال ، عند إدخال مستوى التشغيل 3 على Ubuntu ، يقوم init بتنفيذ البرامج النصية الموجودة في الدليل /etc/rc3.d.
على الأقل ، هذه هي الطريقة التي يعمل بها مع نظام تهيئة النظام الخامس التقليدي: بدأت توزيعات Linux في استبدال نظام تهيئة النظام القديم V. بينما يحافظ Upstart في Ubuntu حاليًا على دعم البرامج النصية SysV init ، من المحتمل أن يتغير هذا في المستقبل.
مستويات Runlevels
بعض مستويات التشغيل قياسية بين توزيعات Linux ، بينما تختلف بعض مستويات التشغيل من توزيع إلى آخر.
مستويات التشغيل التالية قياسية:
- 0 – توقف (يغلق النظام).
- 1 – وضع المستخدم الفردي (يقوم النظام بالتمهيد إلى وضع المستخدم المتميز بدون بدء تشغيل برامج شياطين أو شبكات. مثالي لبدء الاسترداد أو بيئة التشخيص).
- 6 – إعادة التشغيل
تختلف مستويات التشغيل من 2 إلى 5 حسب التوزيع. على سبيل المثال ، في Ubuntu و Debian ، تكون مستويات التشغيل من 2 إلى 5 متطابقة وتوفر وضعًا كاملاً متعدد المستخدمين مع الاتصال بالشبكات وتسجيل الدخول الرسومي. في Fedora و Red Hat ، يوفر مستوى التشغيل 2 وضعًا متعدد المستخدمين بدون اتصال بالشبكة (تسجيل الدخول إلى وحدة التحكم فقط) ، ويوفر مستوى التشغيل 3 وضعًا متعدد المستخدمين مع اتصال بالشبكة (تسجيل الدخول إلى وحدة التحكم فقط)) ، ولم يتم استخدام مستوى التشغيل 4 ، ويوفر مستوى التشغيل 5 رسومًا بيانية والوضع متعدد المستخدمين المتصل بالشبكة.
قم بالتبديل إلى مستوى تشغيل مختلف
للتبديل إلى مستوى تشغيل مختلف أثناء تشغيل النظام بالفعل ، استخدم الأمر التالي:
sudo telinit #
استبدل # برقم مستوى التشغيل الذي تريد التبديل إليه. تخطي sudo وقم بتشغيل الأمر كجذر إذا كنت تقوم بتشغيل توزيع لا يستخدم sudo.
التمهيد مباشرة إلى مستوى تشغيل محدد
يمكنك تحديد مستوى التشغيل للتمهيد من أداة تحميل التشغيل – Grub ، على سبيل المثال. في بداية عملية بدء التشغيل ، اضغط على مفتاح للوصول إلى Grub ، وحدد إدخال بدء التشغيل ، واضغط على e لتحريره.
يمكنك إضافة مفرد إلى نهاية سطر Linux لإدخال مستوى تشغيل المستخدم الفردي (مستوى التشغيل 1). (اضغط على Ctrl + x للبدء لاحقًا). إنه نفس خيار وضع الاسترداد في Grub.
تقليديا ، يمكنك تحديد رقم كمعامل kernel والتمهيد في مستوى التشغيل هذا ؛ على سبيل المثال ، استخدام 3 بدلاً من الفردي للتمهيد إلى مستوى التشغيل 3. ومع ذلك ، لا يبدو أن هذا يعمل في أحدث إصدارات Ubuntu. مغرور لا يبدو أنه يسمح بذلك. وبالمثل ، ستعتمد كيفية تغيير مستوى التشغيل الافتراضي على التوزيع الخاص بك.
بينما لا يزال برنامج Ubuntu Upstart الخفي يحاكي نظام تمهيد SystemV ، فإن الكثير من هذه المعلومات سيتغير في المستقبل. على سبيل المثال ، يعتمد Upstart على الأحداث – يمكنه إيقاف الخدمات وبدء تشغيلها عند حدوث أحداث (على سبيل المثال ، قد تبدأ الخدمة عند توصيل جهاز بالنظام وتتوقف عند إزالة الجهاز). فيدورا لديها أيضا خليفتها الخاصة. لـ init ، systemd.