systemd
ما هو systemd؟
كتب systemd كل من Lennart Poettering وKay Sievers. أول إصدار سنة 2010. كثير من توزيعات Linux تشغّله عند الإقلاع. Ubuntu واحدة منها. لكل خدمة ملف unit. اللاحقة الأكثر هي .service. systemctl start يفتح الخدمة الآن. systemctl enable يربطها بالإقلاع التالي. هذان ليسا الشيء نفسه. journalctl يُظهر السجل. النواة تتكلم مع العتاد. systemd يحفظ ترتيب الخدمات بعد أن تبدأ النواة. بعض الأنظمة مثل Alpine لا تستخدمه.
فيمَ يُستخدم systemd؟
systemd كي يبقى الموقع والقاعدة وبرنامج الخلفية مفتوحة.
- بدء خادم الويب عند الإقلاع
- رفع خدمة سقطت مرة أخرى
- قراءة آخر خطأ في السجل
- فتح خدمة بعد أخرى
ماذا يمكن فعله باستخدام systemd؟
بـ systemd تفتح الخدمة وتغلقها وتربطها بالإقلاع وتقرأ السجل. هو لا يكتب كود البرنامج. إذا أخطأ المسار أو المستخدم تسقط الخدمة. start بلا enable يفتحها الآن فقط. حين ينطفئ الجهاز لا تعود تلك الخدمة وحدها.
هل تعلم systemd صعب؟
أمر start واحد سهل. الصعوبة في مسار ملف unit. إذا لم يُكتب مسار البرنامج الكامل لا يجده systemd. مجلد العمل قد لا يكون مجلد الطرفية. إذا ضُبط restart خطأ يُفتح البرنامج الساقط بلا توقف ويملأ السجل. إذا لم يكن في Alpine systemctl فالأمر لأداة أخرى.
المزايا والحدود
الميزة: ترتيب الإقلاع في مكان واحد والخدمة الساقطة تُرفع والسجل يُقرأ على حدة. الحد: ليس على كل Linux وخطأ unit يبقي الخدمة صامتة. systemd ليس النواة وليس cron.
أفكار أساسية
unit ملف الخدمة. start يفتحها الآن. enable يكتبها للإقلاع التالي.
- systemctl status يُظهر الحالة
- journalctl يقرأ السجل
- .service أكثر unit ظهوراً
- النواة تبدأ قبل systemd
مثال قصير
هذا الأمر يُظهر هل الخدمة مفتوحة الآن. لا ينشئها.
systemctl status nginx
أسئلة شائعة
- هل systemd ونواة Linux الشيء نفسه؟ لا. النواة تتكلم مع العتاد. systemd يحفظ ترتيب الخدمات.
- هل systemd وcron الشيء نفسه؟ لا. cron يستدعي أمراً حين يأتي الوقت. systemd يبقي الخدمة مفتوحة.
- هل start وenable الشيء نفسه؟ لا. start يفتحها الآن. enable يربطها بالإقلاع التالي.