Linux-програми у Windows 10

Linux-програми у Windows 10

Щорічна конференція Build цього разу виявилася цікавою не тільки для шанувальників редмондського гіганта, але і для користувачів табору Linux. По-перше, більш детально розповіли про можливості запуску Linux-систем у хмарі Microsoft Azure, про яку вже було відомо деякий час. А, по-друге, і це найголовніше, Microsoft спільно з Canonical інтегрувала в Windows 10 практично повноцінну ОС Ubuntu. У збиранні Windows Insider з'явилася можливість запуску бінарних виконуваних файлів Linux (ELF64). У ядрі тепер є спеціальний прошарок, що транслює системні виклики Linux у виклики Windows.


Детальніше про це ви можете дізнатися у статті Скотта Гансельмана.  


Головна перевага такого підходу - висока швидкість виконання ненативного коду та універсальність. Раніше для отримання такої функціональності було потрібно або використання різного роду віртуалізованих середовищ, що природним чином призводило до зниження швидкодії і окремих проблем з тим, як безшовно пов'язати обидві системи. Або ж пропонувалося встановлення портованих на Windows Linux-програм, що насправді призводило до ще більших проблем сумісності - частина ПЗ в принципі неможливо змусити працювати в Windows без переписування значної частини вихідного коду.

Тепер же подібних проблем немає - в Windows 10 стало доступно нормальне оточення Ubuntu, тобто це не тільки можливість запуску Linux-програм, але і доступ до безлічі додаткових функцій, і доступ до величезного репозиторію вже готового і протестованого ПЗ. Втім, це лише вершина айсберга. Розробники виконали величезну роботу з коректної інтеграції однієї ОС в іншу. У Windows 10 з'явилися спеціальні пікопроцеси і пікодрайвери. За рахунок них і служби LXSS Linux-програми отримують повноцінний доступ до NT-ядра, хоча вони навіть не «здогадуються», що працюють у Windows. Природно, частина досить специфічних для Linux концепцій тут не реалізовано. Проте, для комфортної роботи того, що є, цілком достатньо. Найголовніше, що тепер у Windows 10 розробникам хмарних і серверних додатків доступне рідне оточення, що значно полегшує створення нового ПЗ, а потім і його розгортання в відповідному середовищі - наприклад, у тому ж хмарі Windows Azure!

Щоб отримати доступ до бета-версії Ubuntu в Windows треба стати учасником програми попередньої оцінки. У розділі додаткових параметрів Центру оновлень Windows необхідно вибрати ранній доступ до збірки Insider Preview і дочекатися установки останньої версії ОС. Ubuntu доступна в збірці 14316 або пізніших. Після встановлення оновлення і перезавантаження ПК серед компонентів Windows з'явиться новий пункт - Windows Subsystem for Linux (Beta). Після закінчення установки в головному меню стане доступним ярлик Bash on Ubuntu on Windows для запуску командної оболонки bash. Аналогічну команду можна виконати і в старому доброму cmd або оболонці PowerShell. Ось і все - тепер доступне оточення Ubuntu. Насамперед незграбним буде оновити список доступного ПО командою apt-get update, після чого можна довстановити необхідний софт з репозиторіїв Ubuntu. 

Власне кажучи, більша частина з тисяч і тисяч Linux-додатків у Windows 10 вже працює. Можна навіть поставити сторонній X-сервер і спробувати запустити програми з графічним інтерфейсом. Правда, не варто забувати, що все це середовище створювалося для розробників, а тому навряд чи їм знадобляться GUI на сервері або, наприклад, виведення звуку. Зате творці дуже акуратно підійшли до реалізації файлових систем - доступ до файлів двосторонній і абсолютно прозорий для обох оточень. VolFS пропонує у Windows підтримку специфічних для Linux параметрів ФС: система прав доступу, символічні посилання, чутливість до регістру в шляхах, а також підтримку символів в іменах файлів і тек, які у Windows не дозволені. DriveFS пропонує все те ж саме, але в зворотний бік, тобто додає в Linux підтримку специфічних для Windows особливостей роботи з ФС.

Таким чином користувач отримує можливість використовувати переваги обох систем відразу. Наприклад, працювати в улюбленій IDE під Windows і створювати Linux-програми. І це великий крок Microsoft у бік відкритих технологій. Більш детально ознайомитися з можливостями спільної роботи Windows і Linux можна на сайті LinuxLoves. Крім того, Microsoft зараз пропонує безкоштовну пробну версію хмарних служб Azure для роботи з Linux, а в магазині Azure вже є близько сотні готових шаблонів на базі цієї ОС. 

Image

Publish modules to the "offcanvas" position.