माइक्रोसॉफ्ट विंडोज सबसिस्टम फॉर लिनक्स (WSL) माइक्रोसॉफ्ट घटकों की एक श्रृंखला है जो विंडोज 10 ऑपरेटिंग सिस्टम (OS) में विंडोज कर्नेल पर नेटिव लिनक्स 64-बिट एक्जीक्यूटेबल एंड लिंकेबल फॉर्मेट (ELF64) बाइनरी को चलाने की अनुमति देती है।
विंडोज 10 में विंडोज सबसिस्टम फॉर लिनक्स फीचर को सक्षम करने के बाद, लिनक्स बैश शेल को Ubuntu यूजर-मोड इमेज इंस्टॉल करने के लिए चलाया जा सकता है जो विंडोज कर्नेल लेयर के ऊपर चलता है जो ELF64 बाइनरी को विंडोज में संचालित करने की अनुमति देता है। इंस्टॉलेशन के बाद, उपयोगकर्ता Ubuntu पैकेज रिपॉजिटरी से अन्य फाइलें चला सकते हैं; लिनक्स कमांड-लाइन यूटिलिटीज जैसे grep, sed और awk; लिनक्स फाइल सिस्टम को नेविगेट करें; और कमांड-लाइन इंटरफेस (CLI) यूटिलिटीज का उपयोग करके स्क्रिप्ट निष्पादित करें।
WSL में लिनक्स इंस्टेंस को संभालने के लिए एक यूजर-मोड सेशन मैनेजर सर्विस, लिनक्स सिस्टम कॉल को संभालने के लिए मिनिमाइज्ड पिको प्रोसेस और लिनक्स कर्नेल का अनुकरण करने के लिए पिको ड्राइवर शामिल हैं। एक पूरे के रूप में, यह आर्किटेक्चर लिनक्स सिस्टम कॉल को विंडोज कर्नेल में पास करके और संभालने में सक्षम बनाता है।
WSL किसे उपयोग करना चाहिए?
विंडोज सबसिस्टम फॉर लिनक्स मुख्य रूप से विंडोज एनवायरनमेंट में काम करने वाले लिनक्स डेवलपर्स के लिए है। उदाहरण के लिए, वेब डेवलपर्स जो अक्सर GitHub जैसे स्रोतों से लिनक्स और अन्य ओपन सोर्स टूल का उपयोग करते हैं लेकिन विकास और प्रयोग के लिए पूर्ण लिनक्स सिस्टम तक सीमित पहुंच रखते हैं। विंडोज सबसिस्टम फॉर लिनक्स डेवलपर्स को विंडोज के माध्यम से सामान्य लिनक्स टूल और उन्नत डेवलपमेंट लैंग्वेज, जैसे रूबी और पायथन, संचालित करने देता है।
WSL 1 बनाम WSL 2
माइक्रोसॉफ्ट विंडोज सबसिस्टम फॉर लिनक्स के दो अलग-अलग संस्करण प्रदान करता है: WSL 1 और नया WSL 2। दोनों विंडोज और लिनक्स के बीच एकीकरण प्रदान करते हैं। दोनों हल्के हैं और तेज बूट समय प्रदान करते हैं। WSL 1 और WSL 2 दोनों गैर-माइक्रोसॉफ्ट हाइपरवाइजर्स जैसे VMware और Oracle VM VirtualBox के साथ भी काम करते हैं।
WSL 1 और WSL 2 के बीच प्रमुख अंतरों में से एक यह है कि WSL 2 एक मैनेज्ड वर्चुअल मशीन (VM) के अंदर चलता है। क्योंकि VM मैनेज्ड है, IT पेशेवरों को उन कॉन्फिगरेशन या प्रबंधन कार्यों के बारे में चिंता करने की आवश्यकता नहीं है जो अक्सर वर्चुअल मशीनों से जुड़े होते हैं।
एक और प्रमुख अंतर यह है कि WSL 2 एक पूर्ण लिनक्स कर्नेल चलाता है। क्योंकि यह कर्नेल माइक्रोसॉफ्ट द्वारा बनाया गया था, इसे विंडोज अपडेट द्वारा अद्यतन रखा जाता है।
माइक्रोसॉफ्ट आमतौर पर WSL 2 का उपयोग करने की सिफारिश करता है क्योंकि यह WSL 1 की तुलना में बेहतर प्रदर्शन प्रदान करता है और इसमें 100% सिस्टम कॉल संगतता है, जिसका अर्थ है कि आप डॉकर जैसे ऐप चला सकते हैं। हालांकि, यदि आपकी परियोजना विंडोज फाइल सिस्टम पर संग्रहीत होनी चाहिए या यदि किसी परियोजना को विंडोज और लिनक्स टूल दोनों का उपयोग करके क्रॉस-कंपाइलेशन की आवश्यकता है तो आपको WSL 1 का उपयोग जारी रखना होगा।
WSL के लिए अक्सर पूछे जाने वाले प्रश्न
VM में लिनक्स के बजाय विंडोज सबसिस्टम फॉर लिनक्स क्यों चलाया जाना चाहिए?
जबकि लिनक्स इंस्टेंस VM में विंडोज के अंदर चल सकते हैं, विंडोज सबसिस्टम फॉर लिनक्स दो फायदे प्रदान करता है। पहला, इसके लिए फुल VM की तुलना में कम कंप्यूटिंग संसाधनों - प्रोसेसर, मेमोरी और स्टोरेज - की आवश्यकता होती है। दूसरा, WSL विंडोज और लिनक्स दोनों एनवायरनमेंट को एक साथ चलाने की अनुमति देता है, इसलिए डेवलपर्स जरूरत पड़ने पर उन्हीं फाइलों पर विंडोज एप्लिकेशन और लिनक्स यूटिलिटीज का उपयोग कर सकते हैं।
क्या विंडोज सबसिस्टम फॉर लिनक्स की कोई सीमाएं हैं?
विंडोज सबसिस्टम फॉर लिनक्स की वर्तमान में कई सीमाएं हैं। पहला, यह सभी लिनक्स एप्लिकेशन का समर्थन नहीं करता; यह बैश और प्रमुख लिनक्स कमांड-लाइन यूटिलिटीज को संभालने के लिए एक टूल प्रदान करने का इरादा रखता है। WSL Gnome या K डेस्कटॉप एनवायरनमेंट जैसे लिनक्स ग्राफिकल यूजर इंटरफेस (GUI) एनवायरनमेंट का समर्थन नहीं करता। विंडोज सबसिस्टम फॉर लिनक्स वर्तमान में केवल Ubuntu लिनक्स डिस्ट्रीब्यूशन का समर्थन करता है।
इसके अलावा, विंडोज सबसिस्टम फॉर लिनक्स केवल विंडोज 10 के लिए उपलब्ध है और विंडोज सर्वर संस्करणों में उपलब्ध नहीं होगा। जबकि WSL कुछ लिनक्स सर्वर एप्लिकेशन चला सकता है, जैसे डेटाबेस के रूप में Redis, इसका उद्देश्य लिनक्स सर्वर एप्लिकेशन को होस्ट करना नहीं है।
विंडोज फाइल सिस्टम फॉर लिनक्स किन फाइल सिस्टम का समर्थन करता है?
विंडोज सबसिस्टम फॉर लिनक्स लिनक्स फाइल कन्वेंशन का समर्थन करते हुए विंडोज फाइलों के साथ इंटरऑपरेबिलिटी प्रदान करने के लिए दो फाइल सिस्टम का उपयोग करता है। VolFs नामक एक फाइल सिस्टम लिनक्स फाइल कन्वेंशन का समर्थन करता है जिसमें लिनक्स परमिशन, अन्य फाइलों के लिंक, विंडोज के तहत सामान्य रूप से स्वीकार नहीं किए जाने वाले कैरेक्टर वाले नाम और लिनक्स डायरेक्टरी स्ट्रक्चर शामिल हैं। हालांकि, VolFs अपनी फाइलों और विंडोज एप्लिकेशन के बीच इंटरऑपरेबिलिटी का समर्थन नहीं करता है, लेकिन ड्राइवएफएस नामक एक अन्य फाइल सिस्टम वह इंटरऑपरेबिलिटी प्रदान करता है, जो कानूनी विंडोज फाइल नाम सुनिश्चित करता है, विंडोज सुरक्षा लागू करता है और केस-सेंसिटिव फाइल नामों का समर्थन करता है। DriveFs की डायरेक्टरी स्ट्रक्चर उपयोगकर्ताओं को एक ही समय में फाइलों पर विंडोज या लिनक्स टूल लागू करने की अनुमति देती है।