ترنر توضیح میدهد: « Bash در ویندوز مجموعهای از ابزارها را در اختیار توسعهدهندگان، مدیران آیتی و سایر متخصصان حوزه فناوری قرار میدهد که مایل هستند یا نیاز دارند ابزار خط فرمان لینوکس را در کنار ابزار و اپلیکیشنهای ویندوز خود در اختیار داشته باشند.» این قابلیت با کمک Canonical (و خانواده بزرگی از کاربران لینوکس) توسعه یافته است. هدف ابزارهای فوق این نیست که لینوکس را به ویندوز یا ویندوز را به لینوکس تبدیل کنند. شما تنها قرار است مجموعهای از ابزارهای پرکاربرد لینوکس را بدون نیاز به درگیر شدن با ماشین مجازی (VM) برای توسعه و گسترش پروژههای خود در اختیار داشته باشید. این یکی از همان دلایلی است که Mac را تا این اندازه در بین توسعهدهندگان محبوب کرده است. MacOS مبتنی بر BSD است که خود بخشی از یونیکس است؛ بنابراین، میتواند ابزار لینوکس را مثل Bash اجرا کند. حالا قرار است ویندوز 10 نیز این کار را انجام دهد.
ترنر میگوید: «توسعهدهندگان با استفاده از Bash در ویندوز میتوانند ابزارهای اصلی و دستنخورده خط فرمان لینوکس را در یک محیط بسیار سازگار با لینوکس، در کنار سایر ابزارهای کاربردی ویندوز اجرا کنند.» حالا میتوانید Think Office و Vi یا PowerShell و Grep را در کنار هم در اختیار داشته باشید. WSL با بهکریتروز ارائه شده و بهسرعت گسترش پیدا کرده است. بنابر گفتههای آقای ترنر WSL بهاندازهای توانمند است که همه میتوانند از آن استفاده کنند. اما برای اینکه با امکانات آن آشنا شوید و راحتتر از آن استفاده کنید، بهتر است ابتدا نکاتی را درباره روشهای تعامل بین ویندوز 10 و لینوکس بدانید.
1- این ابزار مخصوص توسعهدهندگان است
WSL در ویندوز قرار داده شده است تا توسعهدهندگانی که قصد دارند از طریق ویندوز به بطن لینوکس متصل شوند، بتوانند این کار را بهتر انجام دهند یا به ابزارهایی که اغلب تنها در محیط لینوکس موجود بوده و نمیتوان آنها را در محیط ویندوز در اختیار داشت یا آن دسته از ابزارهایی که تنها با سیستم فایل لینوکس سازگار هستند، دسترسی داشته باشند. ترنر از این ویژگی بهعنوان یک مجموعه ابزار قدرتمند یاد میکند که برای توسعهدهندگانی که روی پروژههای چندسکویی کار میکنند، بهویژه آنها که در زمینه طراحی سایت و خدمات مرتبط با آن، سیستمهای توزیع شده یا سرویسهای ذخیرهسازی فعالیت دارند، بسیار کاربردی است.
2- WSL یک توزیع لینوکس است نه هسته لینوکس
WSL یک توزیع لینوکس را روی کامپیوتر شخصی شما نصب میکند (در حال حاضر اوبونتو 16.04 توزیعی است که شما بهطور خودکار دریافت خواهید کرد و تنها پشتیبانی از آن صورت میگیرد، البته گزینههای دیگری نیز در آینده در اختیار شما قرار خواهد گرفت). فایلهای باینری لینوکس به همان شیوه معمول فراخوانی سیستم را انجام میدهند، اما این فراخوانی از طریق هسته ویندوز پاسخ داده میشود. ترنر میگوید: «فراخوانی از طریق ابزار خط فرمان سمت کاربر صادر شده و با هسته سیستم عامل تعامل برقرار میکند.» این به این معنا است که شما تنها فایلهای باینری لینوکس را نصب میکنید و به دلیل اینکه در محیط ویندوز هستید دیگر نیاز به تغییر چیز دیگری ندارید.
3- این یک ماشین مجازی نیست
وقتی شما از طریق یک ماشین مجازی لینوکس را در ویندوز اجرا میکنید، یک سیستم عامل مستقل در اختیار خواهید داشت که از خیلی از قابلیتهای ویندوز بیبهره است.WSL نسبت به یک ماشین مجازی از منابع پردازنده و حافظه بسیار کمتری استفاده میکند و از آنجا که شما همچنان در ویندوز هستید، میتوانید همزمان از ابزار ویندوز و لینوکس در کنار یکدیگر استفاده کنید. همچنین، در این شیوه میتوانید بدون نگرانی از مجازیسازیهای تو در تو، از لینوکس در یک ماشین مجازی ویندوز استفاده کنید.
4- نباید آن را با Cygwin اشتباه گرفت
Cygwin کتابخانهای است که یک محیط گرافیکی شبیه به یونیکس را به همراه یک رابط خط فرمان، داخل ویندوز در اختیار شما قرار میدهد و شما باید نرمافزار مخصوص به آن را کامپایل کنید. اما با WSL فایلهای باینری لینوکس داخل محیط استاندارد ویندوز باز میشوند و نیازی به اصلاح آنها برای اجرا در محیط ویندوز ندارید.
5- چگونه آن را نصب و اجرا کنیم
شما به یک نسخه ۶۴ بیتی از ویندوز ۱۰ Creators (نسخه ۱۷۰۳ یا بالاتر) نیاز دارید.
اول به Settings > Update & security > For developers رفته و Developer mode را فعال کنید.
سپس گزینه (Windows Subsystem for Linux (Beta در کنترل پنل Turn Windows features on or off را فعال کنید.
میتوانید این فرمان را در پنجره پاورشل نیز وارد کنید:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
حالا کامپیوتر خود را راهاندازی کنید. در ادامه یک پنجره خط فرمان را باز و عبارتbash را در آن تایپ کنید تا ایمیج اوبونتو دانلود شود. همچنین، با این کار یک میانبر به منوی استارت اضافه میشود کهbash را اجرا میکند. اولین باری که از این ابزار استفاده میکنید، از شما خواسته میشود تا یک نام کاربری و کلمه عبور یونیکس را ایجاد کنید (این حساب کاربری مستقل از حساب کاربری ویندوز شما است).
6- شما برای استفاده از آن به حساب کاربری مدیریتی احتیاج ندارید
برای فعال کردن WSL به گواهینامههای مدیریتی نیاز دارید، اما میتوانید این کار را با DISM یا سایر ابزارهای مدیریتی انجام دهید. به همین دلیل، توسعهدهندگانی که حساب کاربری مدیریتی در اختیار ندارند نیز میتوانند بعد از فعال شدنWSL از آن استفاده کنند.
7- حتی لینکهای سمبلیک نیز نیازی به مجوزهای مدیریتی ندارند
ویندوز از زمان عرضه نسخه ویستا از لینکهای سمبلیک پشتیبانی میکرده است، اما به دلایل امنیتی باید از یک خط فرمان مدیریتی برای ایجاد و اصلاح آنها استفاده کنید. این امر باعث بروز مشکلاتی برای ابزارهایی مثل Git وnpm که در زمان ساخت و بازیابی پکیجها از لینکهای سمبلیک استفاده میکنند خواهد شد. در نسخه بهروزرسانیCreators بعد از اینکه Developer mode را روشن کردید، برای کار کردن با لینکهای سمبلیک دیگر نیازی به مجوزهای مدیریتی نخواهید داشت.
8- این تنها یک bash نیست
bash روشی برای رسیدن بهWSL است. همیشه در اولین پردازشWSL این ابزار اجرا میشود و اگر شماbash را ببندید، سایر پردازشهای لینوکسی دیگری که در حال اجرای آنها بودید نیز بسته خواهد شد. اما برای نصب فایلهای باینری لینوکس میتوانید ازapt درbash استفاده کنید. همچنین، میتوانید از پوستههای دیگری مثلzsh وfish ، ابزارهای رایج لینوکس مثل apt، sed، grep، awk، top، tmux وssh، ابزارهای توسعه مثل Vim، Emacs، git و(GNU Debugger (GDB استفاده کنید. شما میتوانید سرویسهایی مثل sshd، Apache، nginx، MySQL و PostgreSQL را اجرا کنید. قادر به اجرای ابزارهای برنامهنویسی مثل npm for Node.js، gems for Ruby، Apache Maven for Java، Pip for Python و هرچیز دیگری که شما به طور معمول در اوبونتو استفاده میکنید نیز خواهید بود.
مایکروسافت کار خاصی در زمینه پشتیبانی از اجرای ابزار گرافیکی لینوکس انجام نداده است، از طرفی از اجرای آن دسته از ابزارهایی که در WSL بهدرستی کار میکنند جلوگیری نمیکند
9- از WSL برای ابزارهای خط فرمان استفاده میشود، اما...
WSL طراحی شده است تا ابزارهای خط فرمان را اجرا کند، به همین دلیل است که با پوسته bash آغاز میشود. اما این به این معنا نیست که ابزارهای گرافیکی لینوکس به هیچ وجه با آن کار نمیکند. در واقع خیلی از آنها کار میکنند، اما مایکروسافت قصد داشته تا بهطور خاص از ابزار خط فرمان پشتیبانی کند و خودWSL دخالتی در این زمینه ندارد. مایکروسافت کار خاصی در زمینه پشتیبانی از اجرای ابزار گرافیکی لینوکس انجام نداده است، از طرفی از اجرای آن دسته از ابزارهایی که درWSL بهدرستی کار میکنند جلوگیری نمیکند.
10- اضافه شدن پشتیبانی از لینوکس، کنسول را نیز برای استفاده همگان ارتقا داده است
برای اینکه کنسول ویندوز بتواند از عهده پشتیبانی فرمت متنی به کار رفته در ابزار خط فرمان مثل Vim ،Emacs و tmux برآید، نسخه بهروزرسانیCreators پشتیبانی بهتری از کدهای ANSI وVT که ابزارهای لینوکس و یونیکس در رابطهای خود از آن استفاده میکنند به عمل آورده است. همچنین، بهجای استفاده از رنگهای ۱۶ بیتی قدیمی از رنگهای ۲۴ بیتی استفاده میشود و ما شاهد پشتیبانی بهتری از ماوس هستیم (مورد نیاز برای ابزاری مثلMidnight Commander و Htop). تمام این قابلیتها در ابزارهای خط فرمان ویندوز شاملCMD و کنسول PowerShell نیز قابل مشاهده است.
11- از آن نمیتوان در ویندوز سرور استفاده کرد
WSL تنها برای ویندوز ۱۰ کلاینت موجود است و نمیتوان آن را در ویندوز سرور استفاده کرد. بنابراین، اگر از زیرساختهای دسکتاپ مجازی (VDI) یا سایر روشهای اجرای ویندوز استفاده میکنید، حتماً باید نسخه کلاینت ویندوز را اجرا کنید تا بتوانید WSL را به کار ببرید.
12-Bash جایگزین PowerShell نمیشود
یکی از دلایلی که نمیتوانWSL را در ویندوز سرور استفاده کرد این است که این ابزار برای مدیریت کارهایی مثل Windows Server، Active Directory، IIS، Exchange، SharePoint، System Center، SQL Server، Hyper-V و Azure طراحی نشده است. پاورشل یک ابزار اتوماسیون وظایف و پیکربندی چهارچوب است، نه فقط یک پوسته وWSL نیز نمیتواند آن را تغییر دهد.
13- شما باید خودتان بهروزرسانیها را مدیریت کنید
WSL به طور منظم بهروزرسانیهای خود را از طریق Windows Update و بهروزرسانیهای 6 ماه یک بار ویندوز دریافت میکند. اما این کار (براساس بازخوردهای سنگین دریافت شده از طرف کاربران) توزیع لینوکس شما را بهروزرسانی نخواهد کرد. برای دسترسی به بهروزرسانیهای اوبونتو و فایلهای باینری لینوکس، باید خودتان فرمان Apt-Get Update را اجرا کنید (هرچند مایکروسافت قصد دارد در آینده امکان انجام خودکار این کار را فراهم کند).
14- شما میتوانید با ابزارهای معمول ویندوز WSL را مدیریت کنید
یکی از مزایای بزرگ WSL این است که میتوانید از مانیتورینگ شبکه و ابزار مدیریتی یکسان که قبلاً برای سیستمهای ویندوز استفاده میکردید بهره ببرید. چیزی که ماشینهای مجازی اغلب آن را نمیپذیرند. ترنر توضیح میدهد: «از آنجا که WSL از حافظه، پردازنده، شبکه، فضای ذخیرهسازی و پشتههای ورودی خروجی موجود در هسته ویندوز استفاده میکند، سرمایهگذاریهایی که شرکتها برای محافظت، مدیریت و مانیتورینگ سیستم عامل انجام میدهند برای محافظت، مانیتور و کنترل پردازشهای لینوکس نیز مورد استفاده قرار میگیرد.» در حال حاضر ویندوز دیفندر تنها آنتیویروس است که با WSL کار میکند و میتواند پردازشهای لینوکس شما را مانیتور کند. هرچند ترنر میگوید خیلی از تأمینکنندگان ضد بدافزار در حال همکاری با مایکروسافت هستند تا محصولات آنها بتواند از WSL پشتیبانی کند.
15- میتوان آن را به پردازشهای ویندوز متصل کرد
پردازشهای لینوکسی که شما با WSL اجرا میکنید، درست مثل سایر پردازشهای انجام شده در ویندوز است، به همین دلیل آنها در Task Manager نمایش داده میشوند و شما این امکان را دارید که بهراحتی پردازشی را که باعث اختلال در سیستم شده است را از بین ببرید. این به این معنا است که میتوانید فایلهای اجرایی ویندوز را تنها با تایپ کردن نام کامل فایل برنامه (با رعایت حروف بزرگ و کوچک) از داخل bash فراخوانی کنید. توجه داشته باشید که پسوند فایل اجرایی باید .EXE باشد و اگر مسیر فایل در Windows path موجود است دیگر نیازی به تایپ مجدد آن نیست.
میتوانید فایلهای باینری لینوکس را فراخوانی کنید و خروجی آن را در یک اپلیکیشن ویندوز به دست آورید. یعنی میتوانید با فراخوانی CMD.EXE در bash فایلهای batch را اجرا كنيد، خروجی یک فرمان در bash را بهسمت PowerShell هدایت کنید تا در آنجا پردازش شود یا Visual Studio را اجرا کنید یا ابزاری مثل MSBuild را فراخوانی کنید تا کدهایی که در bash ویرایش میکنید را اجرا کند.
RunInBash command-line helper را نصب کنید تا بتوانید فرامین لینوکس را از طریق PowerShell یا CMD با تایپ $ در ابتدای آن اجرا کنید.
16- میتوان آن را به سیستم فایل ویندوز متصل کرد
WSL یک سیستم فایل DrvFs لینوکس را در اختیار شما قرار میدهد و تمام درایوهای ضمیمه شده ثابت از سیستم فایل ویندوز به طور خودکار به آن الحاق میشود. به همین دلیل شما میتوانید از طریق ابزار لینوکسی که اجرا میکنید به فایلهای سیستم ویندوز خود دسترسی داشته باشید. WSL حتی از سرویس inotify لینوکس نیز پشتیبانی میکند که به اپلیکیشنها اجازه میدهد تا برای تغییر اعلانهای فایلهای سیستمی از جمله فایلهای موجود در سیستم فایل ویندوز و آن دسته از اعلانهایی که میتوانند باعث فعال شدن یک عملگر شوند (مثل ریاستارت یک سرور یا ساخت کدهای شما) ثبت شوند. این به این معنا است که شما میتوانید کدهای خود را با ویژوال استودیو ویرایش کنید، از همان کد در ابزارهای لینوکس استفاده و تعیین کنید در زمانی که شما آن را تغییر میدهید، چه اتفاقی به طور خودکار رخ دهد.
17- شما نمیتوانید فایلهای لینوکس را در اپلیکیشنهای ویندوز باز کنید
ابزارهای لینوکسی که با WSL اجرا میشوند میتوانند فایلهای ویندوز را اجرا کنند، اما سعی نکنید فایلهای ساخته شده با فرمت سیستم فایل لینوکس را در اپلیکیشنهای ویندوز باز کنید. چنین کاری امکانپذیر نیست و میتواند این فایلها را خراب کند.
18- شما هم میتوانید از اعضای ویندوز اینسایدر باشید
WSL هنوز در حال توسعه است و هر روز قابلیتهای جدیدی مثل اتصال به پورتهای سریال ویندوز از طریق پردازشهای لینوکس یا امکان فراخوانی درایوهای سیار و بهاشتراکگذاری شبکه به آن اضافه میشود. این قابلیتهای جديد هنوز به نسخه بهروزرسانی Creators اضافه نشده است، اما میتوانید با اجرای نسخه Windows Insider قبل از ارائه نسخه بهروزرسانی بعدی ویندوز آنها را در اختیار داشته باشید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟