WSL – czysta instalacja

Czas napisać coś dla siebie. Na zaś bowiem warto sobie zostawiać notatki. Przydają się gdy chce się coś zrobić ponownie. Jak ja teraz, a nie zostawiłem sobie notatki poprzednio.

Cel: Mam zainstalowane ubuntu z windows store. (samo w sobie już jest to zabawne dla mnie) Chcę mieć istniejące ubuntu + nowe, świeże takie samo prosto z repozytorium.

Polecam doczytać do końca przed używaniem tych poniższych komend, bo jest kilka „dziwactw”.

Sposób (moim zdaniem) najprostszy:

wsl --export NazwaTwojegoSystemu nazwapliku
wsl --unregister NazwaTwojegoSystemu
wsl --install JeszczeRazNazwaSystemu
wsl --import NazwaJakiejChceszUzyc C:\Sciezka\Do\Miejsca\Gdzie\Ma\Byc\System c:\sciezkaDoPlikuZExportu

i dla sprawdzenia można wpisać wsl -l i już. Mamy to.

Mój problem – przez który nie chciało mi przejść to brak w tutorialach i większości innych źródeł jak SO chociażby informacji o ścieżce w której mamy zainstalować nasze distro z importu. Ot mała różnica. Ale działa. I git!

Działa? No działa, ale nie do końca tak jak byśmy chcieli. Domyślna instalacja odpala się na koncie użytkownika będącym w sudoers. Instalacja po imporcie odpala się jako root. Dla mnie średnie, nie chcę być zawsze rootem. To nie są już czasy windowsa XP i całego życia na Administratorze.

Przede wszystkim najpopularniejszy sposób w google to … „loguj się na root i rób login lub su -l login co moim zdaniem jest głupie. Nie chcę WCALE logować domyślnie roota. Drugi to odpalaj wsl z argumentem –user ale to też nie tędy droga bo domyślnie ma iść, a nie z argumentu.

Jest jeszcze sposób z Ubuntu.exe config polecany na askUbuntu jednak system importowany samodzielnie nie ma swojego pliku .exe w %Path% toteż nie zadziała to z marszu. Trzeba ciut inaczej:

Wewnątrz maszyny jako root lub spod sudo edytujemy plik /etc/wsl.conf i dodajemy nową sekcję. W skrócie ma to wyglądać tak:

[user]
default = "NazwaUsera"

Po prostu. U mnie jest to „wiktor”, działa. Sprawdza się. Hej!

Tl;dr;

1. w istniejącej dystrubucji dodajesz w /etc/wsl.conf sekcję user:
[user]
default = "NazwaUzytkownika"
2. przechodzisz przez 
wsl --export NazwaTwojegoSystemu nazwapliku
wsl --unregister NazwaTwojegoSystemu
wsl --install JeszczeRazNazwaSystemu
wsl --import NazwaJakiejChceszUzyc C:\Sciezka\Do\Miejsca\Gdzie\Ma\Byc\System c:\sciezkaDoPlikuZExportu
3. usuwasz niepotrzebny już plik z eksportem.
4. cieszysz się.