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