Linux disztribúciók telepítése Windows 10-ben

2016. november 02.
40.3441
darkomen profilja, adatai
darkomen
A WSL sok fejlesztő és rendszergazda életét könnyíti meg, hiszen Windows-on belülről használhatják és próbálhatják ki azokat az eszközöket és fejlesztéseket, amik futtatására szükség lenne egy Linux telepítésre. Mint azt korábbi cikkemből olvashattátok a Microsoft későbbiek során elérhetővé akarja tenni azt, hogy ne csak Ubuntu legyen futtatva a WSL felett, hanem sokkal több disztribúció.


A lelkes kísérletezők még a Technical Preview alatt rájöttek, hogy hogyan is tudnak más disztribúciókat telepíteni. Ezen próbálkozások között volt Arch Linux és Fedora is. Sajnos ezek telepítése nem éppen egyszerű (leírás alapján sem), ráadásul sok javítást kell eszközölni rajta, hogy minden funkció normálisan működjön.

Mivel a WSL nem nyílt forrású rendszer, így nehéz kideríteni a működését, de szerencsére a kezdeti kísérleteknek köszönhetően hamar rájöttek a fejlesztők, hogy milyen is a WSL felépítése.


A WSL felépítése

A Windows maga a %LocalAppData%lxss helyen tárolja a WSL fájlokat. Ezen belül található rootfs könyvtár, mely az aktuális disztribúció fájljait tartalmazza. A rootfs mellett található a home, temp és mnt mappa, tehát ezek teljesen különállnak a rendszertől.

Így egyből jön a kérdés, hogy akkor nem lenne elég lecserélni a rootfs-t? A válasz: De igen!

A WSL felépítése

A WSL felépítése


A fentebb is említett Fedora és Arch megoldások is ezt a módszert alkalmazzák, csak utána jön a móka. Először is a bash egyből panaszkodik, hogy az alapértelmezett felhasználó nem található és futassuk le az "lxrun.exe /setdefaultuser" parancsot. Ez sajnos nem minden esetben működik, viszont könnyen megkerülhető: Az /etc/passwd és /etc/shadow fájlokat kell átmásolni az új rootfs-be.

Ezek után a legtöbb disztribúció már működőképes is, csak egyéb apróságokat kell finomhangolni.


WSL Distribution Switcher

Szerencsére nekünk már nem kell lépésről lépésre végigcsinálni a telepítést, hiszen van aki ezt leegyszerűsítette számunkra. Roland Bogosi Python-ban készített néhány szkriptet melyek megkönnyítik a disztribúciók telepítését. Ezzel a megoldással nem csak új disztribúciót kapunk a WSL fölé, hanem egy parancs kiadásával válthatunk közöttük.

Ez a megoldás a Docker Hub által kínált hivatalos lemezképeket használja forrásként és ezek rootfs-ét másolja rá a WSL-re.

A telepítő leírása szerint augusztus 18-án a következő hivatalos disztribúciók voltak elérhetőek:

Debian - 8.5, 8, jessie, latest | jessie-backports | oldstable | oldstable-backports | sid | stable | stable-backports | stretch | testing | unstable | 7.11, 7, wheezy | wheezy-backports | rc-buggy | experimental
Ubuntu - 12.04.5, 12.04, precise-20160707, precise | 14.04.5, 14.04, trusty-20160802, trusty | 16.04, xenial-20160809, xenial, latest | 16.10, yakkety-20160806.1, yakkety, devel
Fedora - latest, 24 | 23 | 22 | 21 | rawhide | 20, heisenbug
Centos - latest, centos7, 7 | centos6, 6 | centos5, 5 | centos7.2.1511, 7.2.1511 | centos7.1.1503, 7.1.1503 | centos7.0.1406, 7.0.1406 | centos6.8, 6.8 | centos6.7, 6.7 | centos6.6, 6.6 | centos5.11, 5.11
OpenSUSE - 42.1, leap, latest | 13.2, harlequin | tumbleweed
Mageia - latest, 5
OracleLinux - latest, 7, 7.2 | 7.1 | 7.0 | 6, 6.8 | 6.7 | 6.6 | 5, 5.11
Alpine - 3.1 | 3.2 | 3.3 | 3.4, latest | edge
Crux - latest, 3.1
ClearLinux - latest, base

A Debian Jessie telepítése és az eredmény

A Debian Jessie telepítése és az eredmény


A fentieken kívül természetesen a Docker által kínált prebuilt lemezképek is használhatóak.


A Switcher használata

A Switcher úgy van megírva, hogy az Windows-ból működjön, tehát senki ne próbálja meg WSL-ből futtatni. Először is mint említettem a szkriptek Python-ban, egészen pontosan Python 3-ban íródtak, tehát Windows-unkon telepítve kell lennie annak. Mivel a WSL a %LocalAppData%-ban tárolja a fájlokat minden felhasználónak, így nem kell rendszergazdai jogokkal futtatni a szkripteket.

1, Szükséges tarball beszerzése

Ehhez el kell dönteni, hogy milyen disztribúciót akarunk feltenni, illetve a Docker Hub-ról hivatalos lemezképet akarunk használni vagy prebuilt rendszert.

Az Ubuntu Xenial Xerus telepítése és az eredmény

Az Ubuntu Xenial Xerus telepítése és az eredmény


Ha hivatalos lemezképet választunk akkor az a következő paranccsal szerezhető be:

python get-source.py image[:tag]

Ha prebuilt akkor a következőt:

python get-prebuilt.py image[:tag]]

2, Rootfs telepítése

Miután letöltődtek a szükséges fájlok, telepítenünk kell a rootfs-t. Ezt a következő paranccsal tehetjük meg:

python install.py image[:tag]

Ezek után a bash indításával már az új disztribúció fog feljönni.

3, Váltás

Ha vissza akarunk térni egy korábban telepített rendszerre, akkor a következő paranccsal tehetjük ezt meg:

python switch.py image[:tag]

A projekt GitHub oldalán részletesebb leírás található a használatról és a leggyakoribb problémákhoz is ad segítséget.

Az eddig telepített disztribúciók listája és egy Kali Linux telepítés a háttérben

Az eddig telepített disztribúciók listája és egy Kali Linux telepítés a háttérben


A legtöbb kipróbált disztribúció tökéletesen működött, az Alpine Linux telepítése is gond nélkül lement, viszont a Bash már nem akart működni, mikor be volt állítva a rootfs-e. Sajnos az általam kedvelt Clear Linux-ot valamiért nem tudta letölteni a szkript.

Remélhetőleg a Microsoft hamar előáll a saját megoldásával amivel ennél egyszerűbben tudunk majd váltani a disztribúciók között sőt, talán még egyszerre több is futtatható lehet.
5 hozzászólás

Harder

5 hónapja, 2 napja

Na elkezdtem használgatni, nekem eddig Fedora, Ubuntu, Arch simán ment. Szuper lehetőség, nagyszerű cikk!

válasz erre

Porthos

5 hónapja, 2 napja

Megint meg lettem fertőzve ezzel a cikkel! Folyamatosan telepítgetem a disztrókat!

válasz erre

VDemon

5 hónapja, 6 napja

Nagyon jó leírás, köszönjük!

válasz erre

Kisfaludy82

5 hónapja, 6 napja

Ismét egy nagyszerű leírás. Fel sem merült volna bennem hogy már megoldható más disztrók telepítése is!

válasz erre

Ronalddo

5 hónapja, 6 napja

Mekkora okosság!

válasz erre

 

új kommentek

legutóbbi hozzászólások
 

Közösségi felületeink