الفصل 2.8 - مستويات التنفيذ (Runlevels)
أهداف التعلم
في نهاية هذا الفصل، ستكون قادرًا على:
- فهم مستويات التنفيذ (runlevels)
- شرح targets systemd
- تغيير مستوى التنفيذ
- فهم التوافقات بين SysV و systemd
ما هو مستوى التنفيذ؟
يحدد مستوى التنفيذ (runlevel) الخدمات النشطة على النظام. يحدد حالة النظام بعد الإقلاع.
مستويات التنفيذ التقليدية (SysV)
نظام تقليدي مع 7 مستويات:
| المستوى | الوصف | الاستخدام |
|---|---|---|
| 0 | Halt | إيقاف النظام |
| 1 | Single-user | وضع الصيانة |
| 2 | Multi-user | متعدد المستخدمين بدون شبكة |
| 3 | Multi-user + Network | متعدد المستخدمين مع شبكة |
| 4 | غير مستخدم | قابل للتخصيص |
| 5 | Graphical | وضع رسومي (X11) |
| 6 | Reboot | إعادة تشغيل |
Targets systemd (حديث)
يستخدم systemd targets بدلاً من runlevels:
الـ Targets الرئيسية:
poweroff.target(runlevel 0)rescue.target(runlevel 1)multi-user.target(runlevel 3)graphical.target(runlevel 5)reboot.target(runlevel 6)
التوافقات بين SysV و systemd
| مستوى SysV | Target systemd | الوصف |
|---|---|---|
| 0 | poweroff.target | إيقاف |
| 1 | rescue.target | وضع الإنقاذ |
| 2, 3, 4 | multi-user.target | متعدد المستخدمين |
| 5 | graphical.target | وضع رسومي |
| 6 | reboot.target | إعادة تشغيل |
الأوامر
عرض المستوى الحالي
# النظام القديم (SysV)
runlevel
# systemd
systemctl get-default
تغيير المستوى
# النظام القديم
init 3
telinit 5
# systemd
systemctl isolate multi-user.target
systemctl isolate graphical.target
# تغيير الافتراضي
sudo systemctl set-default multi-user.target
sudo systemctl set-default graphical.target
عرض الـ targets المتاحة
systemctl list-units --type=target
systemctl list-units --type=target --all
وضع المستخدم الفردي (الإنقاذ)
يستخدم وضع المستخدم الفردي (الإنقاذ) لـ:
- صيانة النظام
- إصلاح ملفات النظام
- إعادة تعيين كلمات مرور الجذر
- الاسترداد بعد المشاكل
الوصول:
- Grub: إضافة
singleأو1إلى النواة - systemd:
systemctl rescue
ملخص
في هذا الفصل، تعلمت:
Runlevels: مستويات تنفيذ النظام
SysV: 7 مستويات (0-6)
systemd: Targets (poweroff, rescue, multi-user, graphical, reboot)
التوافقات: التوافق بين SysV و systemd
التغيير: systemctl isolate, systemctl set-default
الإنقاذ: وضع الصيانة والإصلاح
الخطوات التالية
الفصل 2.9: عملية الإقلاع (Boot)
الفصل 2.10: الاتصال بين العمليات
تم إنشاء الفصل في: ديسمبر 2024