القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة.

يعد نظام Windows الفرعي لنظام Linux ، أو WSL ، طريقة رائعة للمطورين الذين يحتاجون إلى تشغيل Linux و Windows للقيام بذلك دون الحاجة إلى إعداد جهاز افتراضي أو تمهيد مزدوج.

إحدى الميزات الجديدة الرئيسية هي القدرة على تشغيل systemd على WSL ، وهو أمر مفيد لمطوري الويب الذين يقومون بإعداد بيئات الاختبار محليًا. إليك كيفية تمكينه واستخدامه.

لماذا تثبيت systemd على WSL؟

تقوم خدمات WSL افتراضيًا بتشغيل خدمة System V init الأقدم وتبدأ الخدمات بأمر الخدمة. في سبتمبر 2022 ، مايكروسوفت أضاف خيار استخدام systemd لإدارة الخدمات. تم تغيير معظم توزيعات Linux الرئيسية بالفعل إلى systemd.

على الرغم من الجدل ، في الاستخدام الحقيقي ، من الأسهل بكثير بدء وإيقاف الخدمات مع systemd. من الأسهل أيضًا المتابعة مع دروس Linux الأخرى حيث لا يتعين عليك تغيير الأوامر بنفس القدر.

ستكون بيئة اختبار LAMP المحلية أقرب إلى خادم Linux قياسي ، لذلك سيكون تطبيقك أسهل في التصحيح.

كيفية تمكين systemd على WSL

لتمكين systemd ، يجب عليك تشغيل الإصدار الصحيح من WSL. يتطلب systemd إصدار WSL 0.67.6 أو أعلى. يمكنك التحقق من رقم الإصدار بفتح PowerShell وكتابة:

instagram viewer

wsl --إصدار

إذا كان لديك إصدار أقدم مثبتًا وترغب في استخدام systemd ، فيمكنك تحديث WSL باستخدام:

wsl --تحديث

الآن سيتعين عليك إعداد systemd في أي توزيعة قمت بتثبيتها باستخدام WSL. العملية هي نفسها في أي توزيعة WSL ، سواء كانت Ubuntu أو Debian أو Fedora أو أي شيء آخر.

ببساطة قم بتحرير ملف /etc/wsl.conf ملف في نظامك كجذر وإضافة هذه الأسطر:

[حذاء طويل]
systemd =حقيقي

إذا لم يكن ملف wsl.conf موجودًا ، فلا تقلق وتابع بإنشائه بنفسك. هذه الخطوط ستعمل بغض النظر.

احفظ الملف ، وسيتعين عليك الآن إعادة تشغيل أي توزيعات WSL قيد التشغيل. للقيام بذلك ، افتح نافذة PowerShell واكتب هذا الأمر:

wsl --اغلق

افتح محطة أخرى ، وستتمكن من إدارة الخدمات باستخدام systemd على WSL.

بدء تشغيل خدمات WSL وإيقافها باستخدام systemd

يمكنك الآن استخدام ملفات systemctl لبدء وإيقاف الخدمات في WSL.

افترض أنك كنت تستخدم Apache لتشغيل خادم ويب محلي لاختبار تطبيق ويب كنت تقوم بتطويره.

ستبدأ Apache مثل هذا:

سودوsystemctlيبدأاباتشي 2.خدمة

إذا كنت تريد أن تبدأ تلقائيًا ، فيمكنك تمكينها باستخدام:

sudo systemctl يقوم بتمكين apache2.service

وقم بتعطيله بـ:

سودوsystemctlقفاباتشي 2.خدمة

يمكنك الآن تشغيل systemd على WSL

مع آخر تحديثات WSL ، يمكنك الآن تمكين systemd وبدء وإيقاف الخدمات حسب حاجتك إليها. هذا يجعل WSL بيئة جيدة لتطوير تطبيقات الويب ، حيث يمكنك اختبارها كما لو كنت تستخدم أي جهاز Linux قياسي آخر.

من السهل جدًا أيضًا تثبيت خادم LAMP (Linux و Apache و MySQL و PHP) على نظام Windows الفرعي لنظام Linux.