Pingwin w klatce: sprawdzamy możliwości Ubuntu wbudowanego w Windows 10

Pingwin w klatce: sprawdzamy możliwości Ubuntu wbudowanego w Windows 1009.04.2016 20:50

Ubuntu wszyte w Windows 10 – ta ekscytująca dla wielu nowośćz konferencji Build zawitała już do wydanej kilka dni temu wersjisystemu dla uczestników programu Windows Insider. Zaktualizowaliśmywięc naszą wersję testową „dziesiątki” do kompilacji 14316,która jako pierwsza przynosi Windows Subsystem for Linux (beta), byprzekonać się, co warte jest to rozwiązanie, czego możemy sięspodziewać, i czy wreszcie będzie można wygnać te wszystkieLinuksy na serwery, oddając pecetowy desktop pod wyłączne władanieMicrosoftu.

Pierwsze kroki: gdzie tu kliknąć?

Szybko się przekonamy, że z tym „Linuksem” w Windowsie niema lekko. Obiecywano, że po uruchomieniu konsoli CMD.EXE wpiszemyjako komendę nazwę powłoki z Ubuntu (bash) i znajdziemy się wlinuksowym świecie, mogąc uruchamiać linuksowe programy ikorzystać z zaawansowanych konsolowych narzędzi. W rzeczywistościjest troszkę inaczej.

Teraz znajdź sobie tryb dewelopera
Teraz znajdź sobie tryb dewelopera

Po pierwsze, należy włączyć wspomniany Windows Subsystem forLinux (beta). Znaleźć to w ustawieniach systemowych niełatwo.Właściwa droga to Settings > System > Apps & features >Related settings > Programs and Features > Turn Windowsfeatures on or off. Przy okazji przekonamy się, że wciążMicrosoft nie jest w stanie ujednolicić wyglądu narzędzi dosystemowej konfiguracji – jedno oko na Maroko, drugie na Kaukaz,przebijając się przez kolejne ekrany Modern UI w końcu trafimy nanormalne okienko aplikacji win32.

Dotrzeć tu nie było łatwo
Dotrzeć tu nie było łatwo

Gdy już do tego okienka dotrzemy, należy zaznaczyć ptaszkiemlinuksowy podsystem, a następnie zrestartować komputer.

Kolejny krok to przełączenie Windowsa w tryb Developer. Dotrzemydo tego poprzez Settings > Update & security > ForDevelopers > User developer features > Developer mode. Tuprzynajmniej zachowano jakąś spójność. Ponownie restartujemykomputer.

Włączenie trybu deweloperskiego na Windowsie 10 brzmi groźnie
Włączenie trybu deweloperskiego na Windowsie 10 brzmi groźnie

Finalnie pozostaje uruchomić konsolę CMD.EXE i wydać komendębash. W tym momencie zostaniemy poproszeni o zaakceptowanie warunkówlicencji Canonicala, a następnie ze sklepu Windows Store zostaniepobrana paczka z Ubuntu for Windows. Wcześniej czy później, wzależności od szybkości łącza, zobaczycie w końcu znajomy znakzachęty powłoki bash z Ubuntu.

Ubuntu świeżo zainstalowane
Ubuntu świeżo zainstalowane

Oczywiście pierwsze, co chce się zrobić na linuksowychsystemach, to sprawdzić, czy system jest aktualny. Polecenie apt-getupdate zakończyło się jednak niepowodzeniem – zamknięte w swoimkontenerze Ubuntu po prostu nie widziało sieci. Co robić? Należyprzyznać, że rozwiązanie problemu zajęło sporo czasu. Półgodziny dłubaniny zeszło na odkrycie, że pobrane z Windows StoreUbuntu ma nieskonfigurowane ustawienia serwera nazw. Wydaniepolecenia echo nameserver 8.8.8.8 > /etc/resolv.conf pomogło.Wyjście z basha (exit) i ponowne jego uruchomienie pozwoliłocieszyć się widzącym sieć Ubuntu (apt-get update &&apt-get upgrade zadziałały bez problemów).

Ciasna klatka bez wygód

Ubuntu 14.04 w jakiś tajemniczy sposób widzi sieć, ale jak torobi, trudno powiedzieć. Nie jesteśmy w stanie dotrzeć do żadnegourządzenia sieciowego, nawet polecenie ifconfig powie tylko, że niemożna otworzyć /proc/net/dev – i co za tym idzie zebraćinformacji o sprzęcie. Podobnie jest ze wszystkimi próbami dotarciado innych sprzętowych magistrali – nic nie dowiemy się z lspciczy lsusb, a próba odczytania informacji o systemie plików (df)zwróci informację o niemożliwości otworzenia tablicy partycji.

Urządzenia sieciowe? Jakie urządzenia sieciowe?
Urządzenia sieciowe? Jakie urządzenia sieciowe?

Nie ma tu oczywiście żadnych linuksowych systemów plików.Pracujemy na NTFS, a to oznacza, że może być dziwnie. Normalneuniksowe uprawnienia dostępu są tu nie do użycia, zalogowanidomyślnie jako root możemy zrobić wszystko ze wszystkim (777) w obrębie windowsowego podkatalogu, jaki oddano Ubuntu.Spróbowaliśmy oczywiście przyspieszyć pracę komputera za pomocąsłynnego rm -rf /, ale skończyło się to tylko usunięciem Ubuntu– Windows niestety został na miejscu.

Pliki Windowsa można zobaczyć, zrobić z nimi coś już niekoniecznie
Pliki Windowsa można zobaczyć, zrobić z nimi coś już niekoniecznie

NTFS-owe ograniczenia mogą sprawić kłopoty z niektórymiskryptami powłoki bash; widać to choćby już przy zakładaniuplików o nazwach, które byłyby legalne w uniksach, a na Windowsiesą zakazane – ich założenie jest niemożliwe. Bywają teżproblemy z zarządzaniem plikami po ich inode. Co prawda ls -ilzwróci nam numery inode poszczególnych plików (dziwne trochę,dłuższe niż na Linuksie), ale z jakiegoś powodu dobranie się donich po inode nie przynosi oczekiwanych rezultatów, raz to działa,a raz nie.

Windows nie zezwala na heretyckie nazwy plików
Windows nie zezwala na heretyckie nazwy plików

O ile większość poleceń bash zachowuje się w zgodzie zoczekiwaniami (sed, awk, grep, touch – to wszystko działa bezzarzutu), to z aplikacjami aplikacji korzystającymi z ncurses jestkiepsko. Owszem, zainstalujemy np. słynnego Midnight Commandera (mc), alekorzystanie z niego to katorga, co chwilę przestaje działaćobsługa klawiatury, a panele są źle odświeżane.

Gdy Midnight Commander działa, klawiatura działać przestaje
Gdy Midnight Commander działa, klawiatura działać przestaje

Wiele innychaplikacji ncurses, np. monitor iptraf, w ogóle nie potrafi narysowaćdobrze swojego interfejsu (nie mówiąc już o tym, że nie działa,bo nie widzi urządzeń sieciowych).

To chyba nie tak miało wyglądać
To chyba nie tak miało wyglądać

Co ciekawe, działają za to animacje ASCII w konsoli, na czele zaafire. Windows nigdy dotąd nie był taki gorący. To jednak jedyniezabawny gadżet. Konsolowych gier nie udało się uruchomić. bastet,czyli konsolowy Tetris, po zainstalowaniu odpowiadał, że nie możezostać uruchomiony, ponieważ /usr/games nie znajduje się w ścieżcePATH... mimo że katalog ten w PATH się znajdował.

Więcej ognia
Więcej ognia

Granie w bashu na Windowsie 10 to oczywiście ostatnia chybarzecz, jaką by chciało się robić. Zastosowania mają być czystodeweloperskie. Z tymi deweloperskimi zastosowaniami to póki conależy uważać. Owszem, można zainstalować zestaw kompilatora(apt-get build-essential), ale już kompilowanie za pomocą gccpomniejszych programików z GitHuba, które na zwykłym Ubuntukompilowały się bez problemu, tu kończy się przeróżnymibłędami. A co z webdeweloperką? Zapewne wielu programujących wRubym czy innym modnym języku Czytelników parsknie teraz śmiechem,ale cóż, w polskich warunkach webdeweloperska to jednak zwykleLAMP. Instalacja LAMP-a (apt-get install lamp-server^) zakończyłasię jednak porażką, całkowicie odmówiło pracy MySQL (aborted,core dumped), Apache zgłosiło również sporo zastrzeżeń,uznając, że konfiguracja jest połamana.

Webdeweloperka bez MySQL. Jakby ktoś pytał, z Marią jest jeszcze gorzej
Webdeweloperka bez MySQL. Jakby ktoś pytał, z Marią jest jeszcze gorzej

Na koniec należy wspomnieć o wydajności. Cały ten linuksowypodsystem, będący w praktyce translacją wywołań linuksowego APIna API kernela NT jest mniej wydajny od oryginału, potrafi się teżw wielu miejscach przyciąć. Pomiary przeprowadzone za pomocąpolecenia time pokazały, że te same polecenia powłoki w linuksowymbashu na Windows działają kilkukrotnie wolniej, niż uruchomione wbashu na 64-bitowym Cygwinie (natywnym środowisku uniksowym dlaWindowsa).

Linuksa jeszcze nie kasujcie

Być może rozwiązanie będące wciąż w fazie beta z czasemnabierze wydajności, kompatybilności i tego końcowego szlifu, pókico jednak Ubuntu w Windowsie jest jedynie zabawką, która nie nadajesię do poważnej pracy.

Na razie nasza opinia jest taka – jeśli Microsoft chciał przezwbudowanie basha do Windowsa 10 rywalizować z Apple (w OS-ie X/Darwinie bash jest domyślną powłoką systemową), to wziął sięza to w najgorszy możliwy sposób. Bash na Makach jest w pełninatywnym rozwiązaniem, dającym pełen dostęp do całego systemuplików, tam po prostu wszystko działa. Ubuntu z Windows Store jestjedynie zamkniętym kontenerem, nie korzystającym z możliwościWindowsa, a pozbawionym możliwości Linuksa.

Załatwiający basha forkbomb w Windowsie 10 działać nie chce. I dobrze mu tak :)
Załatwiający basha forkbomb w Windowsie 10 działać nie chce. I dobrze mu tak :)

Jeśli ktoś potrzebuje uniksowych narzędzi w swoich „okienkach”,to powinien sięgnąć po Cygwina (któremu niebawem poświęcimydłuższy artykuł). Jeśli ktoś potrzebuje linuksowej maszyny doprac deweloperskich czy administracyjnych, a nie chce rezygnować zWindowsa na swoim pececie, to powinien zainstalować sobie jakiegośDebiana czy CentOS-a w maszynie wirtualnej. Dzisiaj, w erzesuperszybkich laptopów z 8 i 16 GB RAM uruchamianie jednocześnienawet kilku zwirtualizowanych systemów to przecież nic dziwnego.

Oczywiście jest też opcja trzecia, wiążąca się z kupieniemMacBooka. Sądząc po tym, co widać na konferencjach deweloperskichw USA, gdzie czasem nie widać na sali innych komputerów niż te z„jabłuszkiem”, opcja ta jest chętnie wybierana przezzainteresowanych programistycznymi zastosowaniami.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.