Ubuntu (ne Linux) na Windowsu ?

Ubuntu, ali ne Linux kao takav, će se izvršavati u sledećem velikom ažuriranju Windowsa 10, Redstone. Da, Microsoft će omogućiti korisnicima da izvršavaju originalni Bash na Windowsu 10, i da, Ubuntu u sledećem velikom ažuriranju Windowsa 10, Redstone. Kako li su uspeli u tome? Najpre, Ubuntuova roditeljksa kompanija Canonical i Microsoft će ga izvršavati ne u Linuxu u kontejneru ili virtualnoj mašini (VM), već na Windowsovim vlastitim bibliotekama i programima, u podsistemu WSL (Windows Subsystem for Linux).

WSL je krajem januara tiho postavljen u kôd Windows 10 (build 14251). Nekoliko dana kasnije, jedan programer je ustanovio da bi dva nova podsistema lxcore.sys i lxss.sys, mogli da budu mostovi pomoću kojih će programeri u Windowsu razvijati Linux aplikacije. Taj programer je bio delimično u pravu. WSL može da se koristi za to, ali njegov prevashodni zadatak je da podrži jednu sliku korisničkog režima Ubuntu. Jedan Microsoftov portparol je objasnio, „Napravili smo unutar Windowsa novu infrastrukturu, WSL, na kojoj ćemo izvršavati pravu sliku korisničkog režima Ubuntu koju smo dobili od naših velikih partnera u Canonicalu, a oni su kreatori Ubuntu Linuxa. Rezultat je da sada možete da izvršavate originalni Bash na Ubuntu na Windowsu.“

Ovo nije varijacija Cygwina, napominje Dustin Kirkland, član Canonicalovog rukovodećeg tima za proizvodnju i strategiju Ubuntua. Cygwinovi „pomoćni programi otvorenog koda su ponovo prevedeni iz izvornog koda da bi se prirodno izvršavali u Windowsu,“ kaže Kirkland. „Ovde je reč o tome da se Ubuntu ELF binarni fajlovi izvršavaju bit po bit, kontrolni zbir po kontrolni zbir direktno u Windowsu.“

Kirkland nastavlja, „Jedan tim veštih programera u Microsoftu je naporno radio na adaptaciji nekih Microsoftovih istraživačkih tehnologija tako da u suštini u realnom vremenu prevode Linuxove sistemske pozive u sistemske pozive za Windows OS. Iskusni korisnici Linuxa mogu da ga shvate kao suprotno od aplikacije „WINE“ — Ubuntu binarni fajlovi se prirodno izvršavaju u Windowsu. Microsoft to zove „Windowsov podsistem za Linux“. (Ne, to sada nije otvoreni kôd.)“

Neki već kažu: „Oh, kladim se da je to kao kada sprinter na 100 metara trči po blatu.“ Nije tačno. Kirkland tvrdi „da je odličan. Pomoćni program sysbench pokazuje takoreći ekvivalentne performanse procesora, memorije i U/I.“

WSL još nije spreman za puno korišćenje. Predstavnik firme Canonical kaže „još je rano — ovo je beta izdanje.“ Kirkland dodaje: „Velika većina LTP testiranja prolazi i dobro funkcioniše. Ali još uvek ima nekih nedostataka, pogotovo oko tty i vt100. Moji omiljeni byobu, screen, i tmux još ne rade sasvim dobro, ali su sve bolji.“

Ovo nije nova ideja. U stvari, to je sasvim drevna zamisao. Potiče još od Windowsovog podsistema NT POSIX. NT Posix je projektovan da prirodno izvršava Unixove — Linux još nije postojao — binarne fajlove na Windowsu NT. Mnogi me pitaju „Zašto!?“ Kirkland je odgovorio u jedom intervjuu, citirajući Steva Ballmera, „Programeri, programeri, programeri. Microsoft priznaje da iako programeri danas možda izvršavaju Windows ili Mac (ili možda Ubuntu) na svojim radnim površinama, oni neizbežno provode mnogo vremena u Linux ljusci. Pre ove nove mogućnosti u Windowsu 10, korisnici Windowsa su morali da pokrenu VM (koja troši mnogo resursa), prebace se sa ssh na primerak oblaka (što zahteva povezivanje), ili da se muče sa Cygwinom (nespretno, sporo). Uz ovu novu mogućnost, korisnik Windowsa jednostavno pritisne Windowsov taster Start, i upiše „bash“ ili „ubuntu“ i momentalno se nađe u jednoj bogatoj Ubuntu ljusci, sa pristupom na sav Ubuntu i većinu celog APT-a, koji se izvršava prirodno bez virtualizacije ili ponovnog prevođenja.“

U svojoj postavci na blogu, Kirkland nastavlja, „To je skoro nadrealna podrška Microsofta značaju otvorenog koda za programere. To je fantastična prilika za most iz sveta besplatne tehnologije otvorenog koda ka svakoj radnoj površini Windows 10 na planeti. I kakvo predivno usmeravanje da se Ubuntu i Linux uče i sve više koriste u javnim oblacima.“

Govoreći o oblaku, u intervjuu je Kirkland dodao, „Dobro je poznato da je Ubuntu najpopularnija Linux distribucija u oblaku Azure i drugim oblacima. Prirodna Ubuntu ljuska ugrađena direktno u Windowsovu radnu površinu jednostavno olakšava da se kôd napiše koristeći Visual Studio, vim, ili emacs, a zatim se prebaci na primerak oblaka koristeći git, scp, ili rsync, ili obratno. Očigledno, mnogi od tih primeraka oblaka će biti primerci Azure Ubuntu.“

Osnivača Canonicala, Marka Shuttlewortha, uzbuđuje ovo novo tehnološko partnerstvo. Shuttleworth je rekao, „Prirodna dostupnost punog Ubuntu okruženja na Windowsu, bez virtuelizacije ili emulacije, predstavlja prekretnicu koja prkosi konvencijama. Zadovoljstvo nam je da podržavamo Ubuntu za Windows i posvećeni smo rešavanju potreba Windows programera koji istražuju Linux na ovaj neverovatan nov način.“

Zanima vas da ga isprobate? Prva Ubuntu slika za Windows 10, Ubuntu 14.04 LTS, biće raspoloživa uskoro. Ubuntu 16.04 LTS, koji će zameniti Ubuntu 14.04, biće raspoloživ na Windows Store uskoro posle objavljivanja 21. aprila. Pošto se slika oslanja na kôd u izdanju Redstone, moraćete da imate Windows Build 14251 ili noviji. Microsoft je upravo najavio izdanje Windows 10 Redstone 1, takozvani „Windows 10 Anniversary Update“ ili Windows 10 SP1 za mene, za ovo leto.

4059-ubuntu-ne-linux-na-windowsu