Наистина студен ден: BASH работи на Ubuntu, работещ на Windows 10

Вече видяхме издайническите знаци, но все пак може да се замислите, когато чуете официалната дума. Microsoft и създател и собственик на Ubuntu Каноничен наистина са направили възможно бягането Linux команди за потребителско пространство на изображение на Ubuntu, работещо на Windows 10 първоначално. Без виртуални машини, без контейнери, без докери. Въпреки че това може да означава малко за всеки, освен за разработчиците, опитните потребители и потребителите на Linux, то наистина отваря вратата към възможностите, но също така повдига някои въпроси относно истинската цел на Microsoft.

От години е възможно действително да се изпълняват такива Linux команди на Windows чрез различни методи. Можете например да стартирате пълноценна инсталация на Linux във виртуална машина. Въпреки че това ви позволява да получите пълната необременена мощ на Linux, повече или по-малко, той има някои недостатъци. От една страна, вие натоварвате системните ресурси, сякаш няма утре. И виртуалните машини са като острови сами по себе си, с много минимална поддръжка за достъп до файлове извън него или за хост/външен компютър за достъп до файлове във виртуалната машина.

От друга страна, има и инструменти като Cygwin и MSYS, които ви позволяват да изпълнявате определени Linux команди естествено за някои степен, но това, което те правят, е да вземат кода с отворен код за тези помощни програми и програми и да ги прекомпилират за Windows. И наборът от команди също е малко ограничен в сравнение.

Това, което Canonical и Microsoft направиха, е различно и може би интересно от гледна точка на софтуерното инженерство. Той не използва прекомпилирани програми, а напълно идентични, малко по малко, Linux програми за стартиране на Windows. Двамата разработиха нещо като слой за съвместимост, който превежда системните повиквания на Linux в такива на Windows. Потребителите на Linux, запознати с проекта WINE, ще видят прилики тук, освен че работи наобратно.

Крайният резултат е, че потребителите ще могат да изпълняват популярни команди като find, grep, awk, sed и цял куп BASH помощни програми направо в Windows. Дори командата APT, която се използва за управление на софтуер в Ubuntu, всъщност работи. Това обаче не спира дотук. Дори Linux версията на Python и Ruby, например, ще работи без проблеми на Windows, няма нужда да търсите версиите на Windows. Следователно скриптовете, написани за тях, също ще работят на Windows 10. Може би още по-магическо е, че потребителите имат достъп до файлове от двата края на комуникационната линия. Командният ред на Linux може да осъществява достъп до файлове на Windows от позната директория "/mnt/c/", докато Windows Explorer може също да разглежда файловете на Linux от някъде в директорията на потребителя.

Тези инструменти са предназначени да улеснят прехода на Linux и разработчиците с отворен код към използването на Windows 10 като платформа за разработка, което в крайна сметка е чиста печалба за Microsoft. Интеграцията, разбира се, е ограничена и потребителите не трябва да очакват пълната мощ на Linux да бъде налична. Но може да не отнеме много време, преди същите тези опитни потребители и разработчици да изведат тази функция извън предвидените цели.

Разгледайте нашите Microsoft Hub за да видите останалата част от нашето покритие BUILD 2016.

ИЗТОЧНИК: Windows, Дъстин Къркланд