मैंने WSL2 स्थापित किया है और उस पर दो मशीनें तैनात की हैं:

  • Centos
  • उबंटू-20.04

मेरी win10 मशीन पर उबंटू-20.04 इंस्टेंस के कई इंस्टेंस चलाना संभव है?

5
古今中 5 फरवरी 2021, 17:52

2 जवाब

सबसे बढ़िया उत्तर

हाँ, बिलकुल संभव है। यहाँ मेरे अनुशंसित कदम हैं। PowerShell में (आप cmd का भी उपयोग कर सकते हैं):

  • जहाँ आप अपनी WSL छवियों के साथ काम करना चाहते हैं, वहाँ एक सुविधाजनक निर्देशिका बनाएँ। बेशक, मैं अपना नाम WSL रखता हूं। यह आपके C:\ ड्राइव पर होना जरूरी नहीं है।

  • दो उपनिर्देशिकाएँ बनाएँ, images और instances। फिर, नाम वास्तव में आप पर निर्भर हैं।

  • wsl -l -v केवल आपके वर्तमान वितरण नामों की पुष्टि करने के लिए।

  • wsl --export Ubuntu images\2021-02-05_Ubuntu20.04_snapshot.tgz जैसी किसी चीज़ का उपयोग करके अपने मौजूदा 20.04 डिस्ट्रो का बैकअप लें (यह मानते हुए कि आपके वितरण का नाम "उबंटू" है, निश्चित रूप से)।

  • wsl --import Ubuntu20.04_clone instances\Ubuntu20.04_clone images\2021-02-05_Ubuntu20.04_snapshot.tgz --version 2 जैसी किसी चीज़ का उपयोग करके उस स्नैपशॉट का उपयोग करके एक नया उदाहरण बनाएं। जब यह हो जाए तो आपको अपनी instances\Ubuntu20.04_clone निर्देशिका में एक ext4.vhdx फ़ाइल दिखाई देनी चाहिए। --version वैकल्पिक है, लेकिन यह दर्शाता है कि यदि आवश्यक हो तो आप साथ-साथ WSL1 और WSL2 इंस्टेंस बना सकते हैं। (उदाहरण के लिए, यदि आपको NTFS फाइल सिस्टम तक पहुँचने की आवश्यकता है, तो WSL1 बहुत तेज़ है।)

  • wsl ~ -d Ubuntu20.04_clone का उपयोग करके उस इंस्टेंस को लॉन्च करें। या विंडोज टर्मिनल को पुनरारंभ करें (यह मानते हुए कि आप इसका उपयोग कर रहे हैं) और नए इंस्टेंस का स्वचालित रूप से पता लगाया जाना चाहिए।

  • नया इंस्टेंस डिफ़ॉल्ट रूप से रूट के रूप में लॉन्च होगा। आपको निम्नलिखित के साथ एक /etc/wsl.conf बनाकर अपना उपयोगकर्ता नाम सेट करना होगा:

    [user]
    default=me
    

    ... बेशक, अपने उपयोगकर्ता नाम को प्रतिस्थापित करना।

  • उस वितरण से बाहर निकलें और पुनः प्रारंभ करें, और पुष्टि करें कि आपका परिवेश आपकी अपेक्षानुसार कार्य कर रहा है।

  • अब जब आपने पुष्टि कर ली है कि आपका नया इंस्टेंस सही ढंग से चल रहा है, तो निम्न चरण वैकल्पिक हैं, लेकिन अनुशंसित हैं। (एक वैकल्पिक विधि के लिए, यह रेडिट थ्रेड)।

    • मूल वितरण के wsl --unregister <distroname> द्वारा पुरानी छवि को स्वच्छ स्थिति में "रीसेट" करें।

    • विंडोज़ स्टार्ट मेनू से स्टार्ट->रन के साथ "ऐप" (तकनीकी रूप से यह एक "ऐप एक्ज़ीक्यूशन एलियास" है) को फिर से चलाएँ और उबंटू टाइप करें। . यह कॉन्फ़िगरेशन चरणों को फिर से चलाएगा और आपका डिफ़ॉल्ट उपयोगकर्ता/पासवर्ड/आदि बनाएगा। (इसके लिए टिप्पणियों में सुझाव के लिए धन्यवाद @JackoBongo)।

    • सुविधा के लिए, मेरा सुझाव है कि आप आगे बढ़ें और इस उदाहरण में ऊपर बताए अनुसार /etc/wsl.conf जोड़ें। यह आपको हर बार किसी इंस्टेंस को जोड़ने या बदलने पर ऐसा करने से रोकेगा। नोट: यदि आप इस छवि को अन्य उपयोगकर्ताओं को वितरित करने की योजना बना रहे हैं तो ऐसा न करें; बस अगर आप इसे अपने लिए कर रहे हैं।

    • इस "क्लीन कॉपी" को ऊपर दिए गए wsl --export कमांड का उपयोग करके, 2021-02-05_Ubuntu20.04_default.tgz जैसी किसी चीज़ में बैक अप लें। यह "साफ" संस्करण अब wsl --import के लिए आपका शुरुआती बिंदु हो सकता है यदि आप एक नया उबंटू 20.04 स्पिन करना चाहते हैं ताकि बिना किसी चिंता के कुछ परीक्षण किया जा सके कि आपके सामान्य कामकाजी माहौल से आपके ऐप्स/कस्टमाइजेशन रास्ते में आते हैं।< /पी>

    • चूंकि आप पहले से ही कई वितरण (CentOS और Ubuntu) चला रहे हैं, तो मुझे लगता है कि आप पहले से ही Windows Terminal जैसी किसी चीज़ का उपयोग कर रहे हैं। लेकिन अगर आप "उबंटू" प्रविष्टि के साथ प्रारंभ मेनू के माध्यम से उबंटू लॉन्च करते हैं, तो आप शायद अपनी क्लोन vhdx फ़ाइल को नए स्थापित स्वच्छ संस्करण पर वापस कॉपी करना चाहेंगे। आपको "डिफ़ॉल्ट" संस्करण %userprofile%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc (या कुछ इसी तरह) में मिलेगा।

13
NotTheDr01ds 19 अगस्त 2021, 23:37
धन्यवाद! वैसे, क्या वे उदाहरण समानांतर में चल रहे हैं, या वे किसी तरह सिंगलटन कर्नेल को समय-साझा करते हैं?
 – 
古今中
6 फरवरी 2021, 05:31
2
ध्यान दें कि = से पहले और बाद में /etc/wsl.conf में कोई खाली वर्ण नहीं हैं
 – 
edwillys
21 जून 2021, 16:34
धन्यवाद! संपादित।
 – 
NotTheDr01ds
21 जून 2021, 21:42
1
यदि आप एक नए राज्य से पुनः आरंभ करना चाहते हैं, तो उबंटू की स्थापना रद्द करना और इसे फिर से डाउनलोड करना अनिवार्य नहीं लगता है। बस वर्तमान उबंटू वितरण (wsl --unregister Ubuntu) को अपंजीकृत करें और इसे प्रारंभ मेनू से फिर से लॉन्च करें। एक कंसोल विंडो प्रकट होती है और प्रारंभिक स्थापना प्रक्रिया प्रारंभ होती है।
 – 
JackoBongo
28 जुलाई 2021, 12:08
धन्यवाद @JackoBongo - यह एक महान बिंदु है, और चीजों को सरल करता है। मैं अंत में आपके सुझाव को शामिल करने के लिए उत्तर को संपादित करने के लिए तैयार हो गया। मेरा मानना ​​​​है कि यह स्टोर में किसी भी डब्लूएसएल डिस्ट्रो के साथ भी काम करेगा (केवल उबंटू नहीं)। मैंने अल्पाइन के साथ परीक्षण किया, लेकिन यह प्रक्रिया दूसरों के लिए भी मान्य होनी चाहिए।
 – 
NotTheDr01ds
19 अगस्त 2021, 23:39

कई WSL2 इंस्टेंस को प्रबंधित करने के लिए GitHub (मेरी परियोजना) पर एक GUI भी है। आपका थोड़ा समय बचा सकता है।

3
Bostrot 18 सितंबर 2021, 13:58
1
काफी मस्त लग रहा है। कुछ ऐसा ही करने के बारे में सोच रहा था, लेकिन मैंने WSL तर्कों के लिए PowerShell स्वतः पूर्णता लिखने का मार्ग अपनाया। मुझे जल्द ही आपकी जाँच करनी होगी। मेरा अगला कदम शायद टर्मिनल में इसे चलाने के लिए dialog होने वाला था, लेकिन मुझे स्पंदन अवधारणा पसंद है। साथ ही केवल एक अनुस्मारक कि स्टैक आपको यह प्रकट करने की आवश्यकता है कि जब आप ऐसा करते हैं तो आप अपने स्वयं के प्रोजेक्ट से लिंक कर रहे होते हैं।
 – 
NotTheDr01ds
18 सितंबर 2021, 07:45
उफ़, मैं वह भूल गया। इसे तुरंत जोड़ा। आपकी स्वतः पूर्णता परियोजना वास्तव में अच्छी लगती है। जब आप GUI से निपटना नहीं चाहते हैं तो इससे बहुत समय बचेगा। दुर्भाग्य से विंडोज़ का PS/cmd स्वतः पूर्णता लगभग वैसा नहीं है जैसा कि Linux से लिया गया है।
 – 
Bostrot
18 सितंबर 2021, 14:00