Windows Subsystem for Linux
Author
Albert FloresWindows Subsystem for Linux ([ˈsabˌsistəm]; zkráceně WSL; ) od firmy Microsoft je vrstva kompatibility, určená pro nativní běh linuxových spustitelných souborů (formát ELF) v prostředí Windows 10, Windows 11 a Windows Server 2019. Jde o nástupce softwarového balíku Windows Services for UNIX.
Použití
Primární využití WSL je pro vývoj softwaru, zejména webových aplikací a open-source projektů. WSL umožňuje používat Bash, Linuxové nástroje a také nástroje, které jsou dělané zejména pro Linux. +more U takových nástrojů je možné, že existuje jejich implementace pro Windows, ale Linuxová verze funguje lépe.
* Nástroje příkazového řádku, jako grep, sed, awk * Spouštět Bash scripty a Linuxové aplikace příkazového řádku ** Nástroje: vim, emacs, tmux ** Programovací jazyky: NodeJS, Javascript, Python, Ruby, C/C++, Rust, Go ** Služby: SSHD, MySQL, Apache, lighttpd, MongoDB, PostgreSQL * Instalovat další software pomocí správce balíčku * Spouštět linuxové programy z Linuxového shellu
Příklad modelového použití WSL 1 nebo WSL 2 je vývojář, který vyvíjí na laptopu s Windows 10 a poté je jeho kód nasazen na produkční server, který běží na OS Linux. Pokud si vývojář aktivuje WSL, může kód vyvíjet a testovat na platformě, která je technicky shodná s produkčním prostředím. +more Při takovém použití WSL potřebuje méně zdrojů (CPU, paměť, úložiště) než plnohodnotný virtuální stroj. Zároveň je možné používat Linuxové aplikace a nástroje spolu s aplikacemi a nástroji Windows a přistupovat ke stejným souborům, pokud je to potřeba.
Dále je možné, že vývojář při používání windowsových verzí softwaru narazí na problémy s neoptimalizovanými aplikacemi. Například NodeJS lze používat přímo ve Windows, ale některé node/NPM knihovny nemusí Windows vůbec podporovat. +more Podobně například některé Ruby Gem knihovny nemusí fungovat pod Windows.
Verze
První verze WSL obsahuje kompatibilní vrstvu vyvinutou Microsoftem, která neobsahuje žádný kód z kernelu Linuxu a funguje na principu překladu systémových volání Linuxu na Windowsová. První verze WSL není kompatibilní se vším softwarem pro Linux, např. +more s 32bitovými binárními soubory, nebo s takovými, které vyžadují specifické funkce obsažené v kernelu Linuxu, které nejsou implementovány v kompatibilní vrstvě. Mezi takový software patří například ovladače zařízení. WSL 1 nepoužívá žádnou emulaci ani virtualizaci, takže může přímo přistupovat k souborovému systémů hostitele a také k některému hardwaru, jako například k síti. Webové servery, které běží ve WSL 1, jsou dostupné pomocí stejného rozhraní, a tedy i IP adresy, jako hostitelský systém, a zároveň sdílí stejné restrikce na použití portů, které potřebují administrátorský přístup anebo jsou okupovány jinými aplikacemi. Pomocí WSL 1 lze provozovat i grafické (GUI) aplikace za pomocí X11 serveru nainstalovaného ve Windows.
V druhé verzi WSL 2 se Microsoft rozhodl nahradit překládání kódu virtualizací plnohodnotného linuxového kernelu za použití Hyper-V architektury. Hlavní cíl WSL2 je zvýšit výkon a zároveň přidat plnou kompatibilitu se systémovými voláními. +more Nová architektura mění, jak Linuxové binární soubory interagují s Windows, ale uživatelská zkušenost zůstává stejná jako u WSL 1. Slabá stránka WSL 2 je práce se soubory napříč souborovými systémy. Problémům s výkonem se lze vyhnout zejména tím, že se budou pro práci v Linuxu používat jen souborový systém Linuxu, a naopak pro práci ve Windows používat souborový systém Windows.
Jednotlivé linuxové distribuce mohou být použité s libovolnou verzí WSL a zároveň mohou být libovolně upgradovány na WSL 2 anebo downgradovány na WSL 1.
Dostupnost
První verze WSL je dostupná od updatu Windows 10 z 2. srpna 2016 (verze Windows 10 1607), kdy bylo dostupné Ubuntu jako jediná distribuce. +more WSL je dostupné pouze na 64bitové verzi Windows 10 a na Windows Server 2019. WSL 2 je dostupné od 12. června 2019 (verze Windows 10 2004).
K instalaci WSL 1 a/nebo WSL 2 je potřeba zapnout v nastavení Windows doplňkovou funkci „Windows Subsystem for Linux“, a poté v Microsoft Store lze nainstalovat vybrané Linuxové distribuce, jako například Debian, Ubuntu, openSUSE nebo Fedora.
Budoucí funkce
Do budoucna je plánován rozvoj WSL 2, díky jeho možnostem bude možné implementovat věci, které by s WSL 1 nebyly možné. V jarní verzi Windows 10 dorazí například nový příkaz pro instalaci(níže), který podstatně zjednoduší instalaci WSL. +more Také se stane výchozí verzí WSL verze WSL 2 místo WSL 1. wsl. exe -installDále bude do WSL přidána podpora pro výpočty pomocí grafických karet, což je od vydání WSL nejpožadovanější funkce k doplnění. Ze začátku bude podporována umělá inteligence a strojové učení. Oboje bude důležité pro studenty i profesionály, protože tyto případy užití jsou jedna z klíčových oblastí, kde je Linux mnohem výkonnější než Windows a velká spousta specifických aplikací funguje pouze na Linuxu a ne na Windows.
Největší chystaná změna uživatelské zkušenosti bude spočívat v podpoře Linuxových grafických (GUI) aplikací. Někteří uživatelé chtějí používat své oblíbené Linuxové GUI editory nebo vývojová prostředí a pracovat s daty v jejich WSL 2. +more Cíl Microsoftu je, aby bylo možné Linuxové a Windowsové GUI aplikace používat vedle sebe bez toho, aby bylo poznat, kde aplikace přesně běží.
Kontroverze
V Linuxové/vývojářské komunitě jsou přítomny obavy, že Windows Subsystem pro Linux může být pro Microsoft způsob, jak Linux „přijmout, rozšířit a zničit“. Tato fráze byla dříve interně používána k popisu strategie k vstupu do kategorie produktů, v které jsou používány standardy, rozšíření těchto standardů o svoje proprietární schopnosti a následně je využít k získání výhody nad konkurencí.
Richard Stallman vyjádřil své obavy z toho, že integrace funkcionalit Linuxu do Windows povede jen k limitaci vývoje svobodného softwaru. Dokonce nazývá WSL jako „krok zpátky v cestě za svobodou“. +more V kontrastu s tím prohlásil Linus Torvalds, původní tvůrce Linuxu, že nemá obavy že by Microsoft mohl převzít kontrolu nad Linuxem. Linus věří, že GPL 2 licence a také velikost Linuxu dělá něco takového nemožným. Naopak, Linus oceňuje zvýšenou kooperaci Microsoftu s Linuxí komunitou.
Odkazy
Reference
Externí odkazy
[url=http://docs.microsoft.com/en-us/windows/wsl/about]WSL[/url] na serveru Microsoft Docs * [url=http://github.com/Microsoft/WSL]WSL[/url] na GitHubu
Kategorie:Příkazy Windows Kategorie:Ubuntu Kategorie:Komponenty Windows Kategorie:Virtualizační software Kategorie:Vrstvy kompatibility