Windows Subsystem for Linux

vrstva kompatibility ve Windows pro Linux From Wikipedia, the free encyclopedia

Windows Subsystem for Linux
Remove ads

Windows Subsystem for Linux ([ˈsabˌsistəm]; zkráceně WSL; česky podsystém Windows pro Linux) od firmy Microsoft je prostředí určené pro nativní běh linuxových spustitelných souborů (formát ELF) v prostředí Windows 10, Windows 11, Windows Server 2019, Windows Server 2022 a Windows Server 2025. Verze WSL 1 (uvedena v srpnu 2016) implementovala část linuxových systémových volání pomocí jádra Windows.[1] Verze WSL 2 (uvedená v květnu 2019) používá pro běh kompletního linuxového jádra virtualizaci Hyper-V, čímž dosahuje vyšší kompatibility s linuxovými aplikacemi.[2] WSL je nástupcem softwarového balíku Windows Services for UNIX.

Stručná fakta Vývojář, První vydání ...
Remove ads

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. U takových nástrojů je možné, že existuje jejich implementace pro Windows, ale linuxová verze funguje lépe. WSL umožňuje:

  • Používat 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[3]

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. 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. Podobně například některé Ruby Gem knihovny nemusí fungovat pod Windows.[4]

Remove ads

Verze

WSL 1

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ř. 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.

WSL 2

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[4] architektury. Hlavní cíl WSL2 je zvýšit výkon a zároveň přidat plnou kompatibilitu se systémovými voláními. Nová architektura mění způsob, 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 bude 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.[5] WSL 2 podporuje grafické linuxové aplikace (GUI), které se zobrazí v samostatném okně. 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ěží.[6]

Jednotlivé linuxové distribuce mohou být použité s libovolnou verzí WSL a zároveň mohou být libovolně upgradovány na WSL 2 a nebo downgradovány na WSL 1.

Remove ads

Dostupnost

První verze WSL byla dostupná od aktualizace Windows 10 z 2. srpna 2016 (verze Windows 10 1607), kdy bylo dostupné Ubuntu jako jediná distribuce.[7] WSL bylo dostupné pouze na 64bitové verzi Windows 10 a na Windows Server 2019. WSL 2 je dostupné od 12. června 2019 (verze Windows 10 2004).

Pro instalaci WSL je nutné zapnout v nastavení Windows doplňkovou funkci „Windows Subsystem for Linux“, a poté lze v Microsoft Store[8] nainstalovat vybrané linuxové distribuce, jako například Debian, Ubuntu, openSUSE nebo Fedora.

Ovládání stavu WSL

Po aktivaci doplňku „Windows Subsystem for Linux“ je možné použít příkaz pro instalaci implicitní online distribuce (nainstalovaná distribuce se objeví v seznamu nainstalovaných aplikací a lze ji později spustit výběrem z menu):

wsl.exe –-install

Aktuální seznam dostupných online distribucí je:

wsl --list --online

Aktuální seznam spuštěných WSL:

wsl --list

Ukončení běhu WSL je možné příkazem:

wsl --shutdown

Odstranění WSL je možné provést deaktivací všech nainstalovaných distribucí a poté odstraněním doplňku „Windows Subsystem for Linux“:

wsl --unregister <distroName>

Kontroverze

V linuxové/vývojářské komunitě jsou 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“.[9] 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 komunitou Linuxu.[10]

Remove ads

Odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads