Oto rok Windowsa? Podsystem Windows dla systemu Linux działa nieźle
Podsystem Windows dla systemu Linux przeszedł długą drogę odswojego zeszłorocznego debiutu.Jeszcze rok temu, testując go na świeżym wówczas buildzie 14316Windowsa 10, mogliśmy go uznać tylko za zabawkę, ciekawostkę.Stwierdziliśmy wówczas więc, że jeśli ktoś potrzebujeuniksowych narzędzi na Windowsie, to lepiej powinien sięgnąć poCygwina, a najlepiej, to uruchomić sobie Debiana czy CentOS-a wmaszynie wirtualnej. A jak wygląda sytuacja dziś, w erze Windowsa10 Creators Update? Włączając funkcję linuksowego podsystemuwciąż widzimy dopisek „(beta)”, ale niech Was to nie zmyli,Microsoft dokonał ogromnego postępu.
14.04.2017 11:35
Po uruchomieniu z windowsowej konsoli polecenia bash,zaakceptowaniu licencji i pobraniu ze sklepu Windows Store paczki zUbuntu for Windows, postanowiliśmy sprawdzić, jak się dziś mająfunkcje, które rok temu nie działały, albo sprawiały poważnekłopoty. Zacząć należy oczywiście od aktualizacji systemu (sudoapt update && sudo apt upgrade). To już wreszcie naprawiono,linuksowy podsystem ma dostęp do sieci, mamy dostęp do urządzeńsieciowych (eth0, eth1), adresy domenowe są poprawnie rozwiązywane.Wciąż tylko nie możemy bezpośrednio uzyskać dostępu do gniazdeksieciowych – a więc z narzędzi do monitorowania sieci nieskorzystamy. No cóż, na Cygwinie też nie działają.
Sama aktualizacja Ubuntu przebiegła błyskawicznie, na pewnoszybciej, niż aktualizacja samego Windowsa 10. Pozostaje tylko niedo końca związane z tematem pytanie – dlaczego przez WindowsStore oferowana jest tak nieświeża wersja Ubuntu, że aktualizowaćtrzeba setki pakietów?
Znacznie lepiej wypada praca z systemem plików. Możemy już np.sprawdzić wolną przestrzeń dyskową poleceniem df, możemy teżtworzyć i obsługiwać pliki o nazwach, których NTFS normalnie bynie przełknął. Nie ma już żadnych problemów z dostępem do tychplików, działają wszystkie uniksowe narzędzia, i to nawetodnosząc się do plików po ich numerach inode.
Rok temu aplikacje konsolowe wykorzystujące bardziej zaawansowanągrafikę przez bibliotekę ncurses działały tragicznie. Dzisiajjest już znacznie lepiej, menedżer plików mc śmiga równiedobrze, co na normalnej linuksowej konsoli, nie widać nigdzieartefaktów. Działają nawet konsolowe gry: wreszcie będzie w cograć na Windowsie.
Spróbujmy jednak zająć się poważną pracą, np.webdeweloperką, co w Polsce oznacza wciąż przede wszystkim PHP.Instalacja stosu LAMP (sudo apt install lamp-server^) przebiegłabezboleśnie, zainstalowały się wszystkie komponenty. Czyżbykoniec bawienia się jakimiś podejrzanymi WAMP-ami? Tak mogło sięwydawać – serwer PHP uruchomił się w linuksowym podsystemie,dając dostęp dostęp bezpośrednio z windowsowej przeglądarki.
Gdyjednak przyszło do bazy danych MySQL, okazało się, że nic z tegonie będzie. Ani po uniksowych gniazdkach, ani po TCP/IP, nie udałosię uzyskać do niej dostępu. Nie zainstalujemy więc żadnejaplikacji webowej wymagającej tej bazy.
Warto wspomnieć o integracji między środowiskami, i tupoczyniono bowiem spory postęp. Z poziomu linuksowej konsoli możnauruchamiać windowsowe narzędzia, zarówno konsolowe (np.ipconfig.exe) jak i graficzne (np. notepad.exe). Póki co narzędziate nie potrafią jednak uzyskać dostępu do linuksowego systemuplików. Można jednak zmusić je do otwarcia plików znajdującychsię w windowsowym systemie. W drugą stronę to nie działa, zwindowsowej konsoli nie uruchomimy linuksowych poleceń (innych niżbash) – próba kończy się komunikatem o niemożliwościuruchomienia pliku binarnego.
Reasumując, Microsoft coraz bliższy jest spełnienia swoichmarzeń o zredukowaniu Linuksa do służebnej roli – to cozobaczyliśmy w Windows 10 Creators Update nadaje się już do wielupoważnych prac, przestaje być zabawką. A przecież prace się niezakończyły, wersja finalna linuksowego podsystemu pojawić sięwraz z Windows 10 Redstone 3, jeszcze w tym roku. Jeśli zapewniporządne wsparcie dla uniksowych gniazdek sieciowych, to praktyczniezniknie potrzeba uruchamiania linuksowych maszyn wirtualnych zserwerowym oprogramowaniem dla celów deweloperskich – Windows 10będzie do tego wystarczał każdemu. Niezadowoleni z takiego stanurzeczy mogą podziękować firmie Canonical, która aktywniewspółpracowała z Microsoftem nad budową Podsystemu Windows dlasystemu Linux.
Na koniec ciekawostka. Czy wiecie dlaczego ten podsystem się takbzdurnie nazywa (ang. Windows Subsystem for Linux)? Na zdrowy rozumpowinno być odwrotnie, tj. Linux Subsystem for Windows. Jeden zmenedżerów tego projektu z Microsoftu wyjaśnił jednak, żeMicrosoft nie może zacząć nazwy produktu od nazwy, która jestcudzym znakiem towarowym, należącym do Linusa Torvaldsa. Abyuniknąć problemów w tej dziedzinie, nazwę przekręcono.