Read it before install WSL
- Install your windows terminal & recommended system Fonts
- https://github.com/doggy8088/best-wsl-ubuntu-setup
Install from PowerShell
List all the distros of WSL
wsl --list --online
support distros (2025/07/20)
NAME FRIENDLY NAME AlmaLinux-8 AlmaLinux OS 8 AlmaLinux-9 AlmaLinux OS 9 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 AlmaLinux-10 AlmaLinux OS 10 Debian Debian GNU/Linux FedoraLinux-42 Fedora Linux 42 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7 Ubuntu Ubuntu Ubuntu-24.04 Ubuntu 24.04 LTS archlinux Arch Linux kali-linux Kali Linux Rolling openSUSE-Tumbleweed openSUSE Tumbleweed openSUSE-Leap-15.6 openSUSE Leap 15.6 Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_10 Oracle Linux 8.10 OracleLinux_9_5 Oracle Linux 9.5
Install ubuntu 24.04
wsl.exe --install Ubuntu-24.04
Move the installed WSL to another driver
wsl --shutdown wsl --manage Ubuntu-24.04 --move D:\WSL\
Install docker, NOT docker desktop
- https://blog.miniasp.com/post/2025/06/14/How-to-remove-Docker-Desktop-and-install-Docker-Engine-on-Windows-with-WSL-2
# download installation script # https://docs.docker.com/engine/install/ubuntu/#install-using-the-convenience-script curl -fsSL https://get.docker.com -o get-docker.sh # in this step, the system will show a tips to let you install docker desktop. # Do not press any key, just waitting it to install docker-engine sudo sh get-docker.sh # Add your account to docker group # Manage Docker as a non-root user # https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user sudo usermod -aG docker $USER # check the installed version docker --version docker compose version
Install vs code
code-insiders
code-insiders .
vs code stable
code .
For aws development
Install go-lang
sudo apt install golang-go -y
Set go environment path
https://go.dev/wiki/SettingGOPATH
export GOPATH=$HOME/go export GOBIN=$HOME/go/bin export PATH=$GOBIN:$PATH
Install assume-role
https://github.com/remind101/assume-role
go install github.com/remind101/assume-role@latest
for bash
function assume-role { eval $( $(which assume-role) $@); }
for zsh
alias assume-role='function(){eval $(command assume-role $@);}'