Windows Subsystem for Linux za zahtjevnije

Kako distribucija kojom se  koristim nije dostupna putem Microsoft Storea, odlučio sam potražiti moguća rješenja. Na GitHubu sam naišao na zanimljiv projekt koji je nudio neke već pripremljene distribucije i rješenje koje sam tražio.

https://github.com/yuk7/wsldl

 

Instalacija Linux distribucije koja nije dio Microsoft Storea

Ako nam željena distribucija nije dostupna putem Microsoft Storea, okrećemo se distribucijama koje je omogućila zajednica. Za primjer ću se koristiti ArtixWSL-om:

https://github.com/hdk5/ArtixWSL

  • preuzme se Artix.zip
  • raspakira se sadržaj komprimirane datoteke u zajedničku mapu
  • za instalaciju se pokrene Artix.exe (ako preimenujemo datoteku .exe, možemo imati više instaliranih instanci iste distribucije).

Nakon završetka instalacije pokrenemo Artix.exe. Prednost Artixa u ovoj situaciji nad čistom ArchLinux distribucijom je ta što se Artix koristi sustavom OpenRC init umjesto sustavom systemd što omogućuje pokretanje servisa koji zahtijevaju sustav init. Ovo ograničenje su Microsoft developeri nadišli u WSL2.

wsl-1.png

Slika 1.  hostnamectl

Ispis instaliranih Linux distribucija unutar okruženja WSL

      > wsl --list

wsl-2.png

Slika 2. wsl -l

Podrazumijevanu (default) wsl distribuciju postavljamo

      > wsl -setdefault imeŽeljeneDistribucije

 

Instalacija korištenjem General Purpose WSL Distribution Installer & Launcher

https://github.com/yuk7/wsldl

Za instalaciju wsldl zahtijeva komprimiranu root particiju našeg Linux sustava koji želimo instalirati u WSL, odnosno datoteku točnog naziva rootfs.tar.gz. Fizičko ili virtualno računalo koje sadrži željeni sustav pokrećemo sustavom Linux Live kako bismo se mogli „chrootati“ u instalirani sustav.

Za primjer instalacije željene distribucije odabrao sam Manjaro Linux. Dodani su korisnici i napravljena je osnovna konfiguracija. Instalacija nema instalirano grafičko sučelje niti grafičke alate kako bi zauzimala što manje mjesta na disku. Kako su mi oba računala virtualna, u istoj su mreži, na Windows računalu sam podijelio direktorij c:\tmp u koji ću direktno komprimirati root particiju. Naravno, isto je moguće izvršiti na USB disk ili kopirati, ovisno o potrebi.

wsl-3.png

Slika 3. c:\tmp

Na Manjaro distribuciji u mojem okruženju koraci idu ovako:

  1. Pokrenuti računalo live instalacijom Manjaro distribucije
  2. Pokrenuti
    % sudo manjaro-chroot -a
  3. Alat će sam prepoznati instalirani sustav i postaviti se u root particiju.
  4. Mountati dijeljenu mapu

         # mkdir /wsl
     # mount -t cifs //wsl-windows-pc/tmp -o user=wsl /wsl

  1. Pokrenuti komprimiranje
    # tar -cvpzf /wls/rootfs.tar.gz --exclude=/wsl /
  2. Strpljivo čekati završetak.
  3. Preuzeti wsldl instalacijsku datoteku
  4. U istu mapu postaviti rootfs.tar.gz i instalacijsku datoteku.
  5. Preimenovati instalacijsku datoteku u željeno ime – Manjaro.exe
  6. Pokrenuti Manjaro.exe

wsl-4.png

Slika 4.  Instalacija

Nakon uspješnog završetka instalacije, ponovnim pokretanjem datoteke Manjaro.exe, pokrećemo WSL instalaciju naše željene distribucije. Stvorimo korisnika za prijavu

# useradd -m -p -s /usr/bin/zsh -U -G wheel wsl

# passwd wsl

# exit

> C:\tmp\Manjaro.exe config –default-user wsl

wsl-5.png

Slika 5.  cat /etc/manjaro-release

Također, možemo napraviti prečicu na radnu površinu i dodati ikonu za jednostavno pokretanje.

Postavimo podrazumijevanu distribuciju u WSL

      > wsl -s Manjaro

wsl-6.png

Slika 6. wsl -s

 

Osvrt

Osim toga što možemo posebno pripremiti instalaciju za ovo okruženje, ovaj pristup nam omogućuje da iskoristimo već postojeću instalaciju. Bilo da se radi o fizičkom ili virtualnom računalu, željenu distribuciju možemo na jednostavan način pripremiti i instalirati unutar WSL okruženja bez gubitaka datoteka, paketa, alata i pripremljenih konfiguracija. Naravno, uzimajući u obzir ograničenja ovog sustava.