توصیه‎هایی ویژه برای توسعه‎دهندگان ویندوزی و لینوکسی
18 نکته‎ای که در زمان کار با ابزارهای لینوکسی در ویندوز 10 باید از آن مطلع باشید
سال گذشته مایکروسافت در یک اقدام غیرمنتظره قابلیت جدید پشتیبانی از لینوکس را به ویندوز ۱۰ اضافه کرد. ریچ ترنر مدیر ارشد برنامه‎های مایکروسافت می‎گوید: «WSL (سرنام Windows Subsystem for Linux) که بعضی اوقات در ویندوز Bash نیز نامیده می‎شود، راهکار مایکروسافت برای ایجاد یک زیرساخت سازگار با لینوکس است که داخل هسته ویندوز اجرا می‎شود.» این به این معنا است که شما می‎توانید بدون ترک ویندوز فایل‎های باینری لینوکس را اجرا کنید.

1606683296_1_0.gif

ترنر توضیح می‎‌دهد: « Bash در ویندوز مجموعه‎ای از ابزارها را در اختیار توسعه‌دهندگان، مدیران آی‎تی و سایر متخصصان حوزه فناوری قرار می‎دهد که مایل هستند یا نیاز دارند ابزار خط فرمان لینوکس را در کنار ابزار و اپلیکیشن‎های ویندوز خود در اختیار داشته باشند.» این قابلیت با کمک Canonical (و خانواده بزرگی از کاربران لینوکس) توسعه یافته است. هدف ابزارهای فوق این نیست که لینوکس را به ویندوز یا ویندوز را به لینوکس تبدیل کنند. شما تنها قرار است مجموعه‎ای از ابزارهای پرکاربرد لینوکس را بدون نیاز به درگیر شدن با ماشین مجازی (VM) برای توسعه و گسترش پروژه‎های خود در اختیار داشته باشید. این یکی از همان دلایلی است که Mac را تا این اندازه در بین توسعه‌دهندگان محبوب کرده است. MacOS مبتنی بر BSD است که خود بخشی از یونیکس است؛ بنابراین، می‎تواند ابزار لینوکس را مثل Bash اجرا کند. حالا قرار است ویندوز 10 نیز این کار را انجام دهد.
ترنر می‎گوید: «توسعه‌دهندگان با استفاده از Bash در ویندوز می‎توانند ابزارهای اصلی و دست‌نخورده خط فرمان لینوکس را در یک محیط بسیار سازگار با لینوکس، در کنار سایر ابزارهای کاربردی ویندوز اجرا کنند.» حالا می‎توانید Think Office و Vi یا PowerShell و Grep را در کنار هم در اختیار داشته باشید. WSL با به‎کریتروز ارائه شده و به‌سرعت گسترش پیدا کرده است. بنابر گفته‌های آقای ترنر WSL به‌اندازه‎ای توانمند است که همه می‎توانند از آن استفاده کنند. اما برای اینکه با امکانات آن آشنا شوید و راحت‎تر از آن استفاده کنید، بهتر است ابتدا نکاتی را درباره روش‎های تعامل بین ویندوز 10 و لینوکس بدانید.

مطلب پیشنهادی

7 پروژه برتر اینترنت اشیای تحت لینوکس
پشتیبانی لینوکس از اینترنت اشیا

1-  این ابزار مخصوص توسعه‌دهندگان است 
WSL در ویندوز قرار داده شده است تا توسعه‎دهندگانی که قصد دارند از طریق ویندوز به بطن لینوکس متصل شوند، بتوانند این کار را بهتر انجام دهند یا به ابزارهایی که اغلب تنها در محیط لینوکس موجود بوده و نمی‎توان آن‌ها را در محیط ویندوز در اختیار داشت یا آن دسته از ابزارهایی که تنها با سیستم فایل لینوکس سازگار هستند، دسترسی داشته باشند. ترنر از این ویژگی به‌عنوان یک مجموعه ابزار قدرتمند یاد می‎کند که برای توسعه‌دهندگانی که روی پروژه‌های چندسکویی کار می‎کنند، به‌ویژه آن‎ها که در زمینه طراحی سایت و خدمات مرتبط با آن، سیستم‎های توزیع شده یا سرویس‎های ذخیره‎سازی فعالیت دارند، بسیار کاربردی است.

2-  WSL یک توزیع لینوکس است نه هسته‎ لینوکس
WSL یک توزیع لینوکس را روی کامپیوتر شخصی شما نصب می‎‌کند (در حال حاضر اوبونتو 16.04 توزیعی است که شما به‌طور خودکار دریافت خواهید کرد و تنها پشتیبانی از آن صورت می‎گیرد، البته گزینه‎های دیگری نیز در آینده در اختیار شما قرار خواهد گرفت). فایل‎های باینری لینوکس به همان شیوه معمول فراخوانی سیستم را انجام می‎دهند، اما این فراخوانی از طریق هسته ویندوز پاسخ داده می‎شود. ترنر می‎گوید: «فراخوانی از طریق ابزار خط فرمان سمت کاربر صادر شده و با هسته سیستم‎ عامل تعامل برقرار می‎‌کند.» این به این معنا است که شما تنها فایل‎های باینری لینوکس را نصب می‎کنید و به دلیل اینکه در محیط ویندوز هستید دیگر نیاز به تغییر چیز دیگری ندارید. 

3-  این یک ماشین مجازی نیست 
وقتی شما از طریق یک ماشین مجازی لینوکس را در ویندوز اجرا می‎کنید، یک سیستم ‎عامل مستقل در اختیار خواهید داشت که از خیلی از قابلیت‎های ویندوز بی‌بهره است.WSL  نسبت به یک ماشین مجازی از منابع پردازنده و حافظه بسیار کمتری استفاده می‎کند و از آنجا که شما همچنان در ویندوز هستید، می‎توانید هم‌زمان از ابزار ویندوز و لینوکس در کنار یکدیگر استفاده کنید. همچنین، در این شیوه می‎توانید بدون نگرانی از مجازی‎سازی‎های تو در تو، از لینوکس در یک ماشین مجازی ویندوز استفاده کنید.

4- نباید آن ‎را با Cygwin اشتباه گرفت 
Cygwin کتابخانه‎ای است که یک محیط گرافیکی شبیه به یونیکس را به همراه یک رابط خط فرمان، داخل ویندوز در اختیار شما قرار می‎‌دهد و شما باید نرم‎افزار مخصوص به آن را کامپایل کنید. اما با WSL فایل‎های باینری لینوکس داخل محیط استاندارد ویندوز باز می‎شوند و نیازی به‌ اصلاح آن‌ها برای اجرا در محیط ویندوز ندارید. 

مطلب پیشنهادی

انتظار 26 ماهه به سر رسید: دبیان نسخه 9 منتشر شد
خبر خوش برای کاربران لینوکسی

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  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟