Windows Subsystem for Linux, বা WSL, সাম্প্রতিক সময়ে আসা সবচেয়ে এক্সসাইটিং সফটওয়্যার প্রজেক্টগুলোর মধ্যে একটি। যদিও Microsoft Windows এবং Linux একসময় কঠোর শত্রু মনে হতো, এখন আপনি ডুয়াল-বুট বা ভার্চুয়াল মেশিন সেট আপ ছাড়া আপনার Windows সিস্টেমে ফুল-ফ্লেজড লিনাক্স অ্যাপ রান করতে পারেন।
আপনি যদি WSL ব্যবহার করেন, তবে এটি আরও ভালো কীভাবে করতে পারেন?
Windows Terminal পান
Microsoft Store থেকে একটি লিনাক্স ডিস্ট্রিবিউশন ইনস্টল করলে আপনি একটি টার্মিনাল উইন্ডো পাবেন, কিন্তু আপনার টার্মিনালের জন্য আরও ভালো অপশন আছে।
এদের মধ্যে একটি হলো Microsoft-এর নিজস্ব Windows Terminal। এই অ্যাপ্লিকেশন আধুনিক টার্মিনাল এমুলেটর থেকে আপনি যে ফিচারগুলো এক্সপেক্ট করেন সেগুলোর অনেকাংশই অন্তর্ভুক্ত করে, যেন ট্যাবড উইন্ডো। Windows Terminal শুধু লিনাক্স হ্যান্ডল করে না, বরং PowerShell এবং পুরনো Command Prompt ও হ্যান্ডল করে।
এটি এখনো কিছুটা rough around the edges। আপনাকে আপনার সেটিংস একটি .json ফাইলে এডিট করতে হবে। আপনি যদি হেভি কমান্ড লাইন ইউজার হন, তবে আপনি কনফিগারেশন ফাইল এডিট করার সাথে কমফোর্টেবল হবেন।
আপনার শেল পরিবর্তন করুন
অধিকাংশ লিনাক্স ডিস্ট্রিবিউশনে, Ubuntu সহ, ডিফল্ট শেল হলো Bash। সেটিতে কিছু সমস্যা নয়, কিন্তু অভিজ্ঞ লিনাক্স ব্যবহারকারীরা প্রায়শই সিস্টেম আউট-অফ-দ্য-বক্স якভাবে আসে সেটি থেকে অসন্তুষ্ট रहते ہیں। সবাই এটিকে টweak করতে চায়, এবং শেল সেটি থেকে বাদ নয়।
Unix/Linux বিশ্বে একটি জনপ্রিয় Bash অ্যাল্টারনেটিভ হলো zsh। এটি ইতিমধ্যে Apple-এর macOS-এ ডিফল্ট শেল। আপনি একটি কমান্ডে সহজে অন্য একটি শেলে স্যুইচ করতে পারেন।
অধিকাংশ লিনাক্স ডিস্ট্রিবিউশনে, zsh ডিফল্টভাবে ইনস্টলড থাকে না। Ubuntu-এ, আপনি apt ব্যবহার করে ইনস্টল করতে পারেন:
sudo apt install zsh
Ubuntu WSL-এ আপনার শেলকে zsh-এ পরিবর্তন করতে, টাইপ করুন:
chsh -s /usr/bin/zsh
আপনি যে শেলটি ব্যবহার করতে চান তার লোকেশন অন্য ডিস্ট্রো ব্যবহার করলে ভিন্ন হতে পারে। শেল পরিবর্তন করার জন্য আপনাকে আপনার পাসওয়ার্ড প্রম্পট করা হবে। আপনার শেলের লোকেশন খুঁজে বের করতে, টাইপ করুন:
which zsh
আপনি যদি অন্য একটি শেল ব্যবহার করতে চান, তবে zsh-কে সেই শেলের নাম দিয়ে রিপ্লেস করুন।
Related: Which Linux Shell Is Best? 5 Common Shells Compared
Windows এবং Linux ফাইল অ্যাক্সেস করুন
WSL শুধু আপনাকে Windows এবং Linux প্রোগ্রাম সাইড বাই সাইড রান করতে দেয় না, এটি Windows এবং Linux সিস্টেমে সিমুল্টেনিয়াসলি ফাইল অ্যাক্সেস করতে সাহায্য করে।
এটি ডেভেলপমেন্ট প্রজেক্টের জন্য খুব হ্যান্ডি। আপনি একটি প্রোগ্রাম Windows এডিটরে এডিট করতে পারেন এবং Linux উইন্ডোতে টেস্ট করতে পারেন।
Windows ফাইল সিস্টেম Linux সাইডে /mnt/[drive letter] ডিরেক্টরিতে মাউন্ট থাকে। আপনার Windows ড্রাইভ C হলে, সেটি /mnt/c হবে। আপনি এই পথে স্ট্যান্ডার্ড লিনাক্স কমান্ড ব্যবহার করে আপনার সকল Windows ফাইল অ্যাক্সেস করতে পারেন।
Windows থেকে Linux ফাইলসিস্টেম অ্যাক্সেস করা ও সহজ। এটি Windows Explorer-এ \\wsl$ হায়ারার্কিতে ভিজিবল। Windows Linux সিস্টেমকে একটি নেটওয়ার্ক ড্রাইভ হিসেবে দেখে। আপনার Ubuntu 20.04 ইনস্টলড থাকলে, সেটি \\wsl$\Ubuntu-20.04 হবে।
কারেন্ট ডিরেক্টরির একটি এক্সপ্লোরার উইন্ডো খুলতে টাইপ করুন:
Explorer.exe .
WSL 2-এ আপগ্রেড করুন
২০২০ সালে, Microsoft WSL 2 চালু করে। WSL 1-এর চেয়ে মূল উন্নতি হচ্ছে এটি একটি আসল লিনাক্স কার্নেল ব্যবহার করে, যা Windows আপডেটের মাধ্যমে ডেলিভার হয়। এটি পারফরম্যান্স উন্নত করে, কারণ কার্নেল লিনাক্স সিস্টেম কল এক্সিকিউট করে উইন্ডোজ সিস্টেম কলে ট্রান্সলেট করার বদলে।
WSL 2-এ আপগ্রেড করতে, আপনাকে শুধু কয়েকটি কমান্ড ইস্যু করতে হবে। প্রথম, হাইপারভাইজর এক্টিভেট করুন। একটি PowerShell উইন্ডো অ্যাডমিনিস্ট্রেটর হিসেবে খুলুন এবং টাইপ করুন:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
তারপর আপনার মেশিন রিস্টার্ট করুন।
পরবর্তী, আপনাকে লিনাক্স কার্নেল ডাউনলোড করতে হবে। Microsoft-এর ওয়েবসাইট থেকে প্যাকেজটি পান এবং ইনস্টলার রান করুন।
Download: Linux Kernel for WSL
এখন আপনি ভবিষ্যতে ইনস্টল করব যেকোনো ডিস্ট্রিবিউশনের জন্য ভার্সন ২ ডিফল্ট হিসেবে সেট করতে চাবেন:
wsl --set-default-version 2
তবে আপনি আপনার বিদ্যমান ইনস্টলেশনগুলোকও WSL 2-এ আপগ্রেড করতে চাবেন। সৌভাগ্যক্রমে, সেটিও খুব সহজ।
আপনার কি ডিস্ট্রিবিউশন ইনস্টলড আছে সেটি দেখতে, টাইপ করুন:
wsl --list
আপনি যদি আপনার Ubuntu 20.04 ইনস্টলেশনকে WSL 2-এ সেট করতে চান, --set-version অপশন ব্যবহার করুন:
wsl --set-version Ubuntu-20.04 2
এখন আপনি WSL 2 এর সকল অ্যাডভান্সড ফিচার সহ বর্তমান এবং ভবিষ্যতের ইনস্টলেশনে রান করবেন, এবং কার্নেল Windows Update-এর সাথে আপগ্রেড হবে, আপনার সিস্টেমের অন্যান্য ড্রাইভারের মত।
আপনার টুলস সংগ্রহ করুন
লিনাক্স ডেভেলপারদের মাঝে জনপ্রিয় কারণ প্রোগ্রামিং টুলসের চমৎকার পরিমাণ, যেন এডিটর, কম্পাইলার, IDE, সার্ভার সফটওয়্যার, ইত্যাদি যা প্ল্যাটফর্মে উপলব্ধ।
আপনার নতুন WSL-বেসড ইনস্টলেশনকে আপনার পছন্দের টুলস দিয়ে সাজানো অন্যান্য সিস্টেমের মত সহজ। আপনাকে শুধু আপনার সিস্টেমের সাথে আসা স্ট্যান্ডার্ড প্যাকেজ ম্যানেজার ব্যবহার করতে হবে।
Debian এবং Ubuntu-এ, সেটি apt। SuSE-এ, সেটি YaST। Alpine-এ, সেটি APK। পয়েন্ট হচ্ছে, আপনি WSL-এ আপনার পছন্দের ডেভেলপমেন্ট প্রজেক্ট রান করতে যা যা দরকার সেটি পাবেন যেমন একটি কনভেনশনাল লিনাক্স ইনস্টলেশনে।
আপনি যদি একজন C প্রোগ্রামার হন, Debian এবং Ubuntu একটি প্যাকেজ build-essential অন্তর্ভুক্ত করে যেটি GCC কম্পাইলার, C লাইব্রেরি, Make ইউটিলিটি, এবং প্যাকেজ ডেভেলপমেন্ট টুলস নিয়ে গঠিত। এটি মূলত ডিস্ট্রিবিউশন নিজে কাজ করা লোকদের জন্য ইন্টেন্ডেড, কিন্তু সাধারণ C ডেভেলপমেন্টের জন্যও হ্যান্ডি।
এটি ইনস্টল করতে, আপনি শুধু একটি apt কমান্ড ব্যবহার করুন:
sudo apt install build-essential
প্যাকেজ লিস্টিং ব্রাউজ করলে আপনার পছন্দের টুল আছে কিনা নিশ্চিত করতে পারেন এবং হয়তো কিছু নতুন খুঁজে পাবেন।
সার্ভিস ম্যানেজ করা
WSL-এ অধিকাংশ সময় আপনি রেগুলার কমান্ড রান করবেন, কিন্তু কখনো কখনো আপনাকে সার্ভিস স্টার্ট ও স্টপ করতে হতে পারে। আপনি হয়তো একটি ওয়েব অ্যাপ্লিকেশন ডেভেলপ করছেন এবং একটি ওয়েব সার্ভার ব্যবহার করে টেস্ট করতে চান।
সৌভাগ্যক্রমে, যেকোনো অন্যান্য লিনাক্স ডিস্ট্রিবিউশনের মত সার্ভিস স্টার্ট ও স্টপ করা সহজ।
Ubuntu-এ WSL-এ এটি কিছুটা আলাদা, কারণ এটি সার্ভিস ম্যানেজ করার জন্য Systemd ব্যবহার করে না, বরং Service ইউটিলিটি ব্যবহার করে, যা পুরনো System V-স্টাইল ইনিট স্ক্রিপ্ট ব্যবহার করে সার্ভিস ম্যানেজ করতে।
আপনি যদি Apache সার্ভার স্টার্ট করতে চান, তবে আপনি শুধু এই কমান্ড ইস্যু করবেন:
sudo service apache 2 start
এটি Apache সার্ভার লঞ্চ করবে। আপনি top কমান্ড ব্যবহার করে রানিং প্রসেস চেক করতে পারেন এবং প্রসেস লিস্টে apache2 দেখতে পাবেন।
Apache সার্ভার স্টপ করা একইভাবে সহজ:
sudo service apache 2 stop
বিভিন্ন ডিস্ট্রো এক্সপ্লোর করুন
WSL-এর অনেক ফান হচ্ছে আপনি একই সময়ে বিভিন্ন ডিস্ট্রো রান করতে পারেন, তাই কেন কম পরিচিত কিছু যেন Alpine Linux Ubuntu বা SuSE বা Debian-র পাশাপাশি রান করে দেখবেন না? হয়তো আপনি আপনার নতুন ফেভারিট পাবেন। আপনি যদি একটি ডিস্ট্রিবিউশন পছন্দ করেন, তবে --set-default ফ্ল্যাগ ব্যবহার করে সেটিকে আপনার মেইন ডিস্ট্রো হিসেবে সেট করতে পারেন:
wsl --set-default distro-name
যেখানে distro-name হলো আপনি যে সিস্টেমে চেঞ্জ করতে চান তার নাম।
Related: 5 Linux Distros You Can Install in Windows Subsystem for Linux
WSL এক্সপ্লোর করা
WSL-এ Linux এবং Windows কোম্বাইন করা এই নতুন বিশ্ব এক্সপ্লোর করার জন্য অনেক অপশন আছে। লাগে সবসময় কিছু নতুন আবিষ্কার করা যায়। আপনি শেল চেঞ্জ করতে পারেন, টার্মিনাল চেঞ্জ করতে পারেন, সার্ভিস স্টার্ট ও স্টপ করতে পারেন, এবং বিভিন্ন ডিস্ট্রো চেক আউট করতে পারেন।
Windows Subsystem for Linux-এ অনেক ফিচার আছে যা একটি লিনাক্স ডিস্ট্রিবিউশন থেকে আলাদা। কিন্তু আপনি এখনও WSL থেকে লাভ করতে পারেন কারণ এটি আপনাকে আপনার Windows মেশিন থেকে দ্রুত একটি লিনাক্স সিস্টেম এক্সেস করতে দেয়।