Windows Subystem for Linux aneb Ubuntu Bash na Windows 10 Creators Update

To, že ve Windows 10 Creators Update budete moci přímo spouštět unixové věci (konkrétně je to Ubuntu)  se řešilo už dávno předtím, než Microsoft Creators Update uvolnil. Věc jménem Windows Subsystem for Linux do Windows 10 CU dostanete „snadno“. Zapnete si vývojářský režim a doinstalujete Windows Subsystem for Linux. Jediná špatná zpráva je, že následovat bude nutný restart počítače.

2017-04-09 13_15_36-Funkce systému Windows.pngZapnutí vývojářského režimu z Powershellu je snadné: „powershell -command Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux“. Což pochopitelně musíte spustit v Powershellu spuštěném coby správce.

Pokud to nechcete dělat z příkazové řádky, tak musíte klasicky do starých Ovládacích Panelů a pak třeba Programy a funkce -> Zapnout nebo vypnout funkce systému Windows.

Pak už můžete spustit opět Powershell a napsat bash – tím se spustí stažení Ubuntu pro Windows z Windows Store a následná instalace. V rámci které si ještě zvolíte locale (české či anglické například) a vytvořit uživatelské jméno pro Ubuntu (jméno i heslo). A pak už máte k dispozici příkazovou řádku Linuxu.  Pokud byste instalaci chtěli mít bez dozoru a rovnou, tak zkuste „lxrun /install /y

2017-04-09 17_26_07-10.0.0.35 – Připojení ke vzdálené ploše.png

Další spouštění už pak jsou jen otázka vyvolání bash příkazu (programu). Dobré na tom je, že tohle není emulace ani virtualizace, Windows prostě poskytuje pro Ubuntu vše potřebné aby mohlo vše běžet přímo, tedy v přirozených binárkách Linuxu. Což znamená i to, že si můžete klasicky instalovat další programy – bezproblémově vše co běží v „příkazové řádce“, ale rozhodně se tím nemusíte nechat omezovat (viz například Running Graphical Programs on Windows Subsystem on Linux).

TIP: Jakkoli WSL je Ubuntu, není problém si pořídit jiný Linux. V Make Windows green again – Part 1 zjistíte, že dostat tam místo toho OpenSUSE vlastně není vůbec tak složité.

Pokud budete chtít Ubuntu aktualizovat, tak je na to klasické „sudo apt-get update“ pro aktualizaci přehledu balíčků a „sudo apt-get upgrade“ pro aktualizaci všeho, co máte nainstalované. Buďte si jisti, že první zapnutí WSL nebude obsahovat aktuální verze, takže vůbec nečekejte a ihned aktualizujte.

Instalace nových balíčku pak klasicky „sudo apt-get install balíček“ a podobně odstranění přes „sudo apt-get remove balíček“.  Vyhledávání v balíčcích je „sudo apt-cahe search co_hledáte“. Tady prostě platí vše, co platí pro Ubuntu přístupné „přes SSH“ (terminál), tedy bez grafického rozhraní.

Cokoliv si takto nainstalujete bude dostupné pouze přes bash, přímo z příkazové řádky (Powershellu) Windows ale můžete spouštět pomoci bash -c příkaz. Mimochodem, jedna z těch užitečností může být sudo apt-get install mc – přeci jenom Midnight Commander je lepší než čistá příkazová řádka. Připomeňme, že zdejší Software pro Linux, bez kterého se neobejdete vám může pomoci najít další zajímavé věci na vyzkoušení, byť většina z nich potřebuje grafické rozhraní. Ty negrafické najdete v Aplikace pro Linux, pro které nebudete potřebovat GUI, prostě jenom terminal

TIP: Pokud se vám podaří WSL nějak poškodit, tak nezoufejte, prostě odinstaluje (Powershell a „lxrun.exe /uninstall /full“) a potí nainstalujte znovu.

Vaše „Ubuntu ve Windows“ má k dispozici kompletní kapacitu vašeho systémového disku, takže s tím počítejte. Stejně tak pozor, má přístup i ke všem diskům v počítači – jsou připojené do /mnt/c, /mnt/d (atd). Což může znamenat i to, že si dejte pozor, abyste si něco nepříjemného neprovedli.

Co je asi nutné vědět je, že pokud něco v rámci Bash shellu spustíte, tak to poběží dokud ten konkrétní bash nezavřete. Dost podstatné, ale také dost logické.

TIP: Ve Jak ve Windows 10 zprovoznit virtuální stroj bez extra software zjistíte co je to Hyper-V, které vám umožní si opatřit virtualizovaný Linux.

2017-04-09 19_17_27-10.0.0.35 – Připojení ke vzdálené ploše.png

Osobně jsem si chtěl zkusit, jak to dopadne když budu chtít provozovat „přímo“ WordPress (a tedy i Apache2, MySQL a PHP7.0). Bylo to trochu náročnější na pár věci, ale perfektně to funguje. Jak to zařídit ale prozradí Jak na WSL ve Windows 10 dostat WordPress (a tedy Apache, MySQL a tak)

TIP: Vše co jste chtěli vědět o Windows 10 obsahuje řadu nových tipů týkající se Windows 10 Creators Update

Příkaz lxrun umí víc věcí

Výše zmíněný lxrun má ještě nějaké další užitečné parametry a klasicky se můžete pomoci lxrun /? optat co umí.

  • /install slouží k instalaci subsystému
  • /uninstall k odinstalaci
  • /update k aktualizaci indexu balíčků
  • /setdefaultuser vám umožní nastavit uživatele, který bude použit pro bash

Další užitečné věci k WSL

Až dorazí nové Ubuntu, tak by se mělo objevit aktualizované přes Windows Update. Ale stejně tak můžete zkusit klasické „sudo do-release-upgrade„. Mělo by to také fungovat.

Z bashe můžete přímou pouštět programy z Windows. Z Windows můžete pouštět linuxové příkazy a programy přes „bash -c příkazy“.