قم بتثبيت نظام Windows الفرعي لنظام Linux

Install Windows Subsystem



Windows Subsystem for Linux هو أداة مساعدة طورتها Microsoft لتمكين المطورين وعشاق Linux من تشغيل بيئة Linux المفضلة لديهم محليًا على Windows 10 دون الحاجة إلى تشغيل جهاز افتراضي. الطريقة التي يعمل بها مشابهة للطريقة خمر يعمل على Linux. تمكّن WSL ثنائيات Linux من العمل على Windows باستخدام طبقة توافق تترجم استدعاءات نظام Linux إلى استدعاءات نظام Windows.

هندسة معمارية

يمكن القول ، أن WSL يعمل بشكل أفضل على Windows ، مما يعمل WINE على Linux والسبب وراء ذلك هو أن Linux غريب من حيث بنيته. بينما تتكون معظم أنظمة التشغيل من Kernel ومجموعة كاملة من المكتبات والميزات المبنية حول Kernel ، فإن Linux هو مجرد Kernel. تأخذ معظم توزيعات GNU / Linux هذه النواة وتقوم ببناء حزمة نظام تشغيل فوقها. اعتمادًا على الطريقة التي اخترتها لبناء هذه الحزمة ، ستحصل على توزيعات مختلفة مثل Debian و RedHat وما إلى ذلك.







لتشغيل بيئة Linux على Windows ، ستحتاج إلى تمكين ميزة WSL (سنغطي هذا قريبًا) ثم الانتقال إلى متجر Microsoft للحصول على نسخة من التوزيع المفضل لديك (Ubuntu ، Debian ، OpenSUSE ، إلخ).



تمكّن الخطوة الأولى طبقة ترجمة syscall والخطوة الثانية تجلب مجموعة خفيفة الوزن من البرامج لتمنحك نظام تشغيل Linux كاملًا للتشغيل فوق ميزة WSL. القيام بالعكس ، أي أن تشغيل تطبيقات Windows على Linux أصعب بكثير لأن Windows أكثر بكثير من مجرد NT kernel.



لهذا السبب ، لا توجد آلة افتراضية متضمنة في تطبيق WSL ، مما يجعلها خيارًا جذابًا. لن يكون لديك أي خسارة في الأداء لأنه لا توجد أجهزة افتراضية متضمنة ، مجرد طبقة ترجمة صوتية خفيفة الوزن أصلية.





التثبيت والإعداد

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



سيهتم Windows بالإعداد من هنا فصاعدًا ، وبمجرد الانتهاء من كل شيء ، سيتطلب منك إعادة تشغيل نظامك لإنهاء التغييرات. بعد إعادة التشغيل ، يمكنك الانتقال إلى متجر Microsoft والبحث عن التوزيع المفضل لديك هناك.

يمكنك البحث في المتجر عن التوزيع المفضل لديك. يوجد أدناه لقطة شاشة لبعض التوزيعات الأكثر استخدامًا. يمكنك رؤية نوعين مختلفين من OpenSUSE ، تطبيق Debian و Kali Linux.

بالطبع ، لا يزال Ubuntu هو التوزيع الأكثر شيوعًا ، حيث يتوفر كل من 16.04 و 18.04 LTS في المتجر.

قم بتثبيت نظام Windows الفرعي لنظام Linux

الآن عليك فقط اختيار التوزيع الذي تريده وتثبيت التطبيق المقابل. سنقوم بتثبيت Ubuntu 18.04 LTS لبيئة WSL الخاصة بنا. يبلغ حجمه حوالي 215 ميجابايت ، وهو أصغر بكثير من تثبيت Ubuntu بالكامل.

بمجرد تثبيت التطبيق ، يمكنك تشغيله مباشرة من تطبيق Microsoft Store أو من خلال البحث عنه في قائمة ابدأ. عند إطلاقه لأول مرة ، سوف يستغرق الأمر بعض الوقت لإعداد الأشياء لك.

قد يستغرق الأمر ما يصل إلى 5 دقائق ، ولكن بمجرد الانتهاء من ذلك ، ستتم مطالبتك بإدخال اسم مستخدم وكلمة مرور UNIX الجديدين وستكون جاهزًا للبدء!

ستوفر لك المحطة التي تم إطلاقها جميع وظائف نظام Ubuntu تقريبًا ، باستثناء واجهة المستخدم الرسومية. نظرًا لأن معظم إمكانات UNIX / Linux تأتي من أجل قوة الجهاز الطرفي ، فقد يؤدي ذلك إلى قطع شوط طويل.

على سبيل المثال ، يمكننا البدء في استخدام هذه البيئة عن طريق تحديث جميع الحزم المثبتة فيها.

$سودوتحديث مناسب&& سودوترقية ملائمة

أشياء يمكنك ولا يمكنك فعلها في بيئة WSL

الآن ، السؤال الذي يطرح نفسه في أذهان الجميع - ما الفائدة؟

دعونا ننظر في الحالة المعاكسة. باستخدام تقنيات مثل WINE ، نعلم أنه ليس كل ما يمكن القيام به في Windows يمكن القيام به على Linux. مكتبات النظام منخفضة المستوى مثل DirectX لن تكون متاحة على Linux ويعتمد الكثير من التطبيقات على Windows على مثل هذه المكتبات.

أنظمة التشغيل مثل Windows 10 أو FreeBSD أو Illumos هي أنظمة تشغيل كاملة وليست النواة فقط. مع Windows لأن معظم المكتبات مملوكة وهذا يجعل الأمر أكثر صعوبة. هذا يجعل مهمة مشروع مثل WINE أكثر صعوبة.

مع محاولة محاكاة Linux على Windows ، فإن العكس هو الصحيح. مجموعة مكالمات ABI الضيقة (أو مكالمات syscalls) من Linux هي كل ما تحتاجه لترجمته إلى Windows لتشغيل كل شيء فوقه. إذا حاولنا أن نسأل Ubuntu على WSL عن Kernel الذي يعمل عليه ، فسوف يمنحك رقم إصدار Linux kernel ، مع ذكر Microsoft جنبًا إلى جنب مع رقم الإصدار للإشارة إلى أن هذا ليس الفرع الرئيسي لمشروع Linux kernel.

$وحيد -إلى

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

على سبيل المثال ، ستعمل الأوامر التالية كما هو متوقع:

$مدافع

$ifconfig

يخبرك كلا الأمرين بمعلومات حول نظامك الأصلي الذي يقوم بالفعل بتشغيل Windows. إنه لا يشبه تشغيل جهاز افتراضي حيث توجد واجهات شبكة مختلفة وأنظمة ملفات مختلفة تمامًا.

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

وينطبق الشيء نفسه إذا كنت تحاول تشغيل عامل ميناء. عند تثبيت Docker ، لن يشكو Ubuntu ، ومع ذلك ، لن تبدأ خدمة Docker ، لأنها تعتمد على Systemd الذي لا يوجد في هذا النظام الفرعي.

ومع ذلك ، يمكنك تشغيل عدد كبير من الخدمات وأدوات bash لجعل حياتك أسهل. إذا كنت تدير خوادم Linux لكسب لقمة العيش ، فلن تحتاج إلى أن يكون لديك Linux على سطح المكتب أيضًا. يمكنك تشغيل عملاء SSH ، وعميل Docker ، و bash ، وأدوات مساعدة مثل grep و awk ، بالإضافة إلى لغة البرمجة المفضلة لديك من Python إلى Rust في هذه البيئة دون تلويث نظام Windows الخاص بك.

يمكنك أيضًا تشغيل أتمتة CD / CI باستخدام Ansible أو Puppet أو أي تقنية أخرى تفضلها. وهذا يعني أن أي شيء يتطلبه DevOp أو مطور ويب أو تطبيق أو مختبِر من نظام Linux يمكن تحقيقه باستخدام WSL باستثناء الأشخاص الذين يعملون مع برامج النظام و / أو تطوير النواة.

استنتاج

هل لديك أفكارك الخاصة أو تجربتك مع نظام Windows الفرعي على Linux؟ أو ربما لا تزال لديك أسئلة تحتاج إلى إجابات عليها. اتصل بنا مع استفساراتك وسنغطي هذا الموضوع من أجلك.