3 min read

开发环境 - WSL/Ubuntu

在数字化时代,WSL(Windows Subsystem for Linux)的出现为Windows开发者带来了全新的可能性。本文将探讨WSL开发环境的搭建与重要性。通过搭建WSL,开发者可以在Windows操作系统中享受到与Linux相似的开发体验,无需切换操作系统或虚拟机。我们将探索WSL的安装步骤和配置方法,并探讨它在开发过程中的诸多优势。无论是Web开发、云原生应用还是其他领域,WSL的搭建与使用将提升开发效率和便捷性。
开发环境 - WSL/Ubuntu

在数字化时代,WSL(Windows Subsystem for Linux)的出现为Windows开发者带来了全新的可能性。本文将探讨WSL开发环境的搭建与重要性。通过搭建WSL,开发者可以在Windows操作系统中享受到与Linux相似的开发体验,无需切换操作系统或虚拟机。我们将探索WSL的安装步骤和配置方法,并探讨它在开发过程中的诸多优势。无论是Web开发、云原生应用还是其他领域,WSL的搭建与使用将提升开发效率和便捷性。

安装 wsl

管理员模式打开PowerShell输入, 并开启虚拟平台

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

下载 Linux 内核更新包 - 适用于 x64 计算机的 WSL2 Linux 内核更新包, 选择性设置WSL 2为默认版本.

wsl --set-default-version 2

安装完成后,可以通过资源管理器或运行命令访问到Linux的目录.

\\wsl$

版本转换

有人从WSL 2降回WSL 1可能因以下原因:兼容性问题,资源消耗大,满足开发需求,个人使用习惯。WSL 2的虚拟机技术可能与某些应用程序不兼容,且占用更多系统资源。对于资源有限或对性能要求低的用户,降回到WSL 1以节省资源。一些开发场景或个人偏好可能仅需要WSL 1的功能.

# wsl --set-version <distribution name> <versionNumber>

# 先列出全部linux与版本信息
wsl --list --verbose
wsl --set-version Ubuntu 1

代理

# 获取Windows IP 真实地址, windows_host 不能是127.0.0.1
export windows_host=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'` 
export ALL_PROXY=socks5://$windows_host:9999
export http_proxy=$ALL_PROXY
export https_proxy=$ALL_PROXY

# 测试是否成功
curl -vv www.google.com

Ubuntu 更新镜像

备份源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
 sources.list 更新为阿里云源
 sudo vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

刷新列表

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential

更改Root密码

sudo passwd

故障

可能出现网络问题。通过运行 netsh winsock reset 命令重置Winsock目录和网络设置,有助于修复WSL的网络连接问题


参考

WSL常用命令

#列出所有Linux版本
wsl -l --all 
# 检查wsl版本
wsl --list --verbose 或 wsl -l -v

#设置linux选择
wsl --setdefault <DistributionName>

#配置某个linux发行版为版本2
wsl --set-version <distribution name> <versionNumber>
wsl --set-version Ubuntu-18.04 2

#以某个特定用户运行某一个发行版
wsl -u <Username>
#注销(卸载)某个发行版以重新安装
wsl --unregister <DistributionName>
#为某个发行版配置默认用户
<DistributionName> config --default-user <Username>
#停止所有正在运行的WSL子系统
wsl --shutdown