Zainstaluj podsystem Windows dla Linux

Zainstaluj podsystem Windows dla Linux

Zainstaluj i użyj podsystemu Windows dla Linux (WSL)

Podsystem Windows dla Linux to narzędzie opracowane przez Microsoft, aby umożliwić programistom i entuzjastom Linux do uruchamiania swojego ulubionego środowiska Linux w systemie Windows 10 bez kosztów uruchamiania maszyny wirtualnej. Sposób, w jaki działa, jest podobny do sposobu, w jaki wina działa na Linux. WSL umożliwia uruchamianie binarów Linux w systemie Windows za pomocą warstwy kompatybilności, która tłumaczy połączenia systemu Linux na wywołania systemu Windows.

Architektura

Prawdopodobnie WSL działa lepiej w systemie Windows, niż wino w systemie Linux, a przyczyną tego jest to, że Linux jest osobliwy pod względem architektury. Podczas gdy większość systemów operacyjnych składa się z jądra i całego pakietu bibliotek i funkcji zbudowanych wokół tego jądra, Linux to tylko jądro. Większość dystrybucji GNU/Linux bierze to jądro i buduje na nim stos systemu operacyjnego. W zależności od tego, jak zdecydowałeś się zbudować ten stos, otrzymujesz różne dystrybucje, takie jak Debian, Redhat itp.

Aby uruchomić środowisko Linux w systemie Windows, musisz włączyć funkcję WSL (wkrótce to obejmiemy), a następnie przejść do sklepu Microsoft, aby uzyskać kopię swojej ulubionej dystrybucji (Ubuntu, Debian, OpenSuse itp.).

Pierwszy krok umożliwia warstwę tłumaczenia Syscall, a drugi krok wprowadza lekki stos oprogramowania, aby uruchomić kompletny system systemu Linux na szczycie funkcji WSL. Robienie odwrotnego, to znaczy uruchamianie aplikacji Windows w Linux jest znacznie trudniejsze, ponieważ Windows to znacznie więcej niż tylko jądro NT.

Z tego powodu nie ma maszyny wirtualnej zaangażowanej w wdrażanie WSL, co czyni ją atrakcyjną opcją. Nie będziesz mieć żadnej straty w wydajności, ponieważ nie są zaangażowane VMS, tylko rodzima warstwa tłumaczenia Syscall Syscall.

Instalacja i konfiguracja

Na komputerze z systemem Windows 10 wyszukaj „Włącz lub wyłącz funkcje systemu Windows”, klikając klawisz Windows i wpisując to samo w menu Start. Po otwarciu menu Windows, przewiń na dole, gdzie znajdziesz funkcję „Windows Subsystem dla Linux”. Zaznacz to pole i kliknij OK.

Windows odtąd zadbałby o konfigurację, a gdy wszystko się stanie, wymagałoby ponownego uruchomienia systemu, aby sfinalizować zmiany. Po ponownym uruchomieniu możesz przejść do sklepu Microsoft i szukać tam swojej ulubionej dystrybucji.

Możesz przeszukać sklep w poszukiwaniu ulubionej dystrybucji. Poniżej znajduje się zrzut ekranu niektórych z najczęściej używanych rozkładów. Możesz zobaczyć dwa warianty OpenSuse, Debian App i Kali Linux.

Oczywiście najpopularniejszą dystrybucją jest nadal Ubuntu z obiema 16.04 i 18.04 LT dostępne w sklepie.

Teraz musisz tylko wybrać pożądany dystrybucja i zainstalować odpowiednią aplikację. Będziemy instalować Ubuntu 18.04 LTS dla naszego środowiska WSL. Ma około 215 MB, znacznie mniejszy niż cała instalacja Ubuntu.

Po zainstalowaniu aplikacji możesz uruchomić ją bezpośrednio z aplikacji Microsoft Store lub wyszukując ją w menu Start. Po uruchomieniu po raz pierwszy, skonfigurowanie dla Ciebie rzeczy zajmie trochę czasu.

Może to potrwać do 5 minut, ale kiedy to zrobisz!

Uruchomiony terminal zaoferuje prawie wszystkie funkcje systemu Ubuntu, z wyjątkiem GUI. Ponieważ większość funkcji UNIX/LINUX przychodzi dla mocy terminalu, może to zapewnić długą drogę.

Na przykład możemy zacząć korzystać z tego środowiska, aktualizując wszystkie zainstalowane w nim pakiety.

$ sudo apt aktualizacja && sudo apt aktualizację -y

Rzeczy, które możesz i nie możesz zrobić w środowisku WSL

Teraz pytanie, które pojawia się w umyśle wszystkich?

Rozważmy odwrotny przypadek. Dzięki technologiom takim jak wino wiemy, że nie wszystko, co można zrobić w systemie Windows, można zrobić w Linux. Biblioteki systemowe niskiego poziomu, takie jak DirectX, nie będą dostępne w Linux, a wiele aplikacji w systemie Windows polega na takich bibliotekach.

Systemy operacyjne, takie jak Windows 10, FreeBSD lub Illumos, to pełnoprawne systemy operacyjne, a nie tylko jądro. Z systemem Windows, ponieważ większość bibliotek jest zastrzeżona, co utrudnia sprawę. To sprawia, że ​​praca takiego jak wino jest znacznie trudniejsza.

Próbując naśladować Linuksa w systemie Windows, jest odwrotnie. Wytrzymały zestaw połączeń ABI Linuksa (lub syscalls) to wszystko, czego potrzebujesz, aby przetłumaczyć na system Windows, aby uruchomić wszystko na nim. Jeśli spróbujemy zapytać Ubuntu na WSL, które to jądro, da ci numer wersji jądra Linux, a Microsoft wspomniano obok numeru wersji, aby wskazać, że nie jest to gałąź główna projektu jądra Linux.

$ uname -a

Jeśli zagłębimy się głębiej, przekonamy się, że chociaż funkcjonalność wysokiego poziomu, takie jak układ systemu plików, i konfiguracje sieciowe są wyświetlane, czynności niższy, takie jak układ przechowywania bloków.

Na przykład następujące polecenia działałyby zgodnie z oczekiwaniami:

$ df -h
$ ifconfig

Oba polecenia informują informacje o twoim natywnym systemie, który faktycznie działa Windows. To nie jest coś takiego jak uruchomienie maszyny wirtualnej, w której istnieją różne interfejsy sieciowe i różne systemy plików.

Jednak polecenia takie jak lsblk nie będzie działać, ponieważ magazyn bloków niższego poziomu nie jest tym, czego Linux oczekuje. Podobnie instalacja OpenZFS jest daremna, ponieważ OpenZFS instaluje kilka modułów z ładowaniem jądra i nie mamy jądra Linux tylko złudzenie.

To samo dotyczy, jeśli próbujesz uruchomić Dockera. Podczas instalowania Dockera Ubuntu nie narzeka, jednak usługa Docker nie uruchomi się, ponieważ zależy to od systemu, który jest nieobecny w tym podsystemie.

Możesz jednak uruchomić mnóstwo usług i narzędzi do bicia, aby ułatwić swoje życie. Jeśli zarabiasz na życie zarządzając serwerami Linux, nie musisz mieć również Linuxa na komputerze stacjonarnym. Możesz uruchomić klientów SSH, klienta Docker, Bash, narzędzia takie jak GREP i AWK, a także ulubiony język programowania od Pythona do rdzy w tym środowisku bez zanieczyszczenia systemu systemu Windows.

Możesz również uruchomić automatyzację CD/CI za pomocą Ansible, Puppet lub dowolnej innej technologii, którą preferujesz. To znaczy, wszystko, czego wymagałby devop, programista lub tester aplikacji w systemie Linux, można osiągnąć za pomocą WSL, z wyjątkiem osób pracujących z oprogramowaniem systemowym i/lub tworzeniem jądra.

Wniosek

Mam własne przemyślenia lub doświadczenie z podsystemem Windows w Linux? A może nadal masz pytania, na które potrzebujesz odpowiedzi. Skontaktuj się z nami według zapytania, a omówimy ten temat.