لينكس / المتوسط: فهم إدارة النظام / الدرس 10
قراءة حالة الخدمات والسجلات المنظمة
افهم وحدات systemd وحالة التشغيل والتفعيل وأدلة السجل المقيدة زمنياً في التوزيعات التي تستخدمه.
في هذه الصفحة
أهداف الدرس
- التمييز بين النشاط والتمكين والفشل والتثبيت.
- قراءة تعريفات الوحدات وتتبع الاعتمادات.
- استعلام أدلة السجل دون افتراض استمراريته.
تعبر الوحدة عن سلوك مُدار
يدير systemd وحدات للخدمات والمقابس والمؤقتات والتركيبات. تصف الخدمة عمليات خاضعة للإشراف، وقد يفعّل المقبس أو المؤقت العمل عند الحاجة. يعني التثبيت وجود التعريف، والنشاط حالة التشغيل، والتمكين روابط تستخدمها أهداف التفعيل. هذه أبعاد مستقلة؛ فقد تنشط خدمة غير ممكّنة يدوياً أو باعتماد، وقد تفشل خدمة ممكّنة. حدد اسم الوحدة الفعلي بدلاً من استنتاجه من اسم الحزمة أو الاسم التسويقي للتطبيق.
قراءة الوحدة الفعلية قبل تغييرها
يعطي systemctl status نظرة بشرية موجزة، ويعرض show الخصائص وcat التعريف وإضافاته. تسمح الإضافات بتجاوز إعدادات الحزمة دون تعديل ملف المورد. تهم مسارات البحث وسياق المدير؛ فمدير المستخدم منفصل عن مدير النظام. حدد السياق المالك للعمل. لا تثبت قراءة الملف وحدها تحميل المدير لأحدث تعريف. يحدّث daemon-reload تعريفات المدير، وهو مختلف عن إعادة تحميل إعداد التطبيق ولا ننفذه في الدورة.
systemctl cat example-report.service
systemctl show example-report.service -p ActiveState -p SubState -p Result
هذه أوامر قراءة للدراسة في صورة تحوي example-report.service. تميز الخصائص الحالة الحالية من نتيجة آخر تشغيل، وتعتمد المخرجات على المختبر.
الترتيب والمطالبة بالوجود مختلفان
ينشئ After= ترتيباً عند مشاركة الوحدتين في معاملة، ولا يبدأ الأخرى وحده. يجذب Wants= اعتماداً ضعيفاً، بينما ينشئ Requires= مطلباً أقوى بعلاقات فشل موثقة. ولا يثبت أي منهما استعداد جهة شبكة خارجية للإجابة. يجب أن تتحمل الخدمة غياب الاعتمادات. اقرأ النوع؛ قد ينجح عمل oneshot ثم يصبح غير نشط، بينما تحتاج الخدمة الطويلة نموذج عملية واستعداد مناسباً. لا تفسر كل حالة غير نشطة كعطل.
تقييد السجل بالوحدة والإقلاع والزمن
يرشح journalctl المدخلات المنظمة بحسب الوحدة والإقلاع والأولوية والزمن. ابدأ بالوحدة المتأثرة حول وقت الحادث ووسّع عند الحاجة. يختار -b إقلاعاً ويعرض --list-boots المتاح. قد تغيب إقلاعات قديمة لأن السجل متطاير أو حُذفت بالاحتفاظ. السجل دليل لما سُجل لا برهان لنجاح ما لم يسجل. يدخل خرج الخدمة وخطؤها عادة السجل، وقد يستخدم التطبيق ملفات منفصلة أو تسجيلاً بعيداً أيضاً.
journalctl -u example-report.service -b --since '2026-10-23 10:00:00' --until '2026-10-23 10:10:00' --no-pager
journalctl --list-boots --no-pager
استخدم وقت حادث المختبر الفعلي والصلاحيات المتاحة. تقرأ الأوامر المدخلات المتاحة فقط ولا تعيد تشغيل شيء أو تمحو السجل أو تقلصه.
الحالة والسلوك المفيد مهمان
قد تنشط عملية الخدمة وتعجز عن خدمة المستخدم. افحص سلوكاً صغيراً على مستوى التطبيق مع حالة المدير، وميّز نجاح البدء من الصحة المستمرة. وبالمقابل قد تكون مهمة oneshot المجدولة سليمة بعد الخروج. احفظ سجل الفشل الأول قبل المحاولة لأن التكرار قد يدفن العرض الأصلي ويفعّل حدود البدء. سجل اسم الوحدة ومعرف الإقلاع والأوقات والنتيجة الدقيقة. تجنب نشر أسرار تظهر في الوسائط أو التشخيصات عند مشاركة الأدلة.
الأخطاء الشائعة وإصلاحها
اعتبار التمكين نشاطاً
- لماذا يحدث؟
- اختلطت روابط التفعيل بحالة التشغيل.
- كيف تصلحه؟
- افحص ActiveState ودورة الحياة الموثقة.
- كيف تتجنب تكراره؟
- أبلغ عن التمكين والنشاط منفصلين.
توقع بدء الاعتماد بواسطة After=
- لماذا يحدث؟
- اختلط الترتيب بعلاقات المطالبة.
- كيف تصلحه؟
- راجع Wants= أو Requires= واستعداد التطبيق.
- كيف تتجنب تكراره؟
- صمم سياسة الاعتماد والترتيب منفصلتين.
غياب سجلات الإقلاع السابق
- لماذا يحدث؟
- لم يحفظها الاحتفاظ أو التخزين المتطاير.
- كيف تصلحه؟
- افحص --list-boots وإعداد التسجيل الموثق.
- كيف تتجنب تكراره؟
- خطط للاستمرار والاحتفاظ قبل الحوادث.
اختبر فهمك
1. خدمة oneshot ممكّنة وغير نشطة مع Result=success. هل هي معطلة بالضرورة؟
اعرض الحل المشروح
لا. قد تنهي oneshot العمل بنجاح وتعود لعدم النشاط ما لم تحتفظ إعداداتها بالحالة. افحص المؤقت أو المحفز والخرج المتوقع وأدلة الاستدعاء الأخير. معيار الصحة إتمام العمل المقصود لا استمرار العملية.
2. اختر أول أدلة لفشل خدمة مختبر أُبلغ عنه الساعة 10:04.
اعرض الحل المشروح
التقط الحالة والتعريف الفعلي، ثم استعلم سجل الوحدة ضمن فترة قصيرة حول 10:04 والإقلاع الصحيح. حدد الفشل الأول ونتيجته قبل التوسع للاعتمادات. احفظ الأدلة قبل أي إجراء استرداد مصرح.
أهم ما تعلمته
- تختلف سياسة التفعيل وحالة التشغيل وصحة التطبيق.
- اقرأ الوحدات الفعلية وأدلة السجل المحددة.