🚕Ubuntu WSL配置指南
type
status
date
slug
summary
tags
category
icon
password
Status
Windows 系统拥有 WSL 功能,帮助开发者获得 Linux 开发环境及其体验,确实是一大利器。以往的 VMWare 虚拟机的不便,和双系统安装切换的麻烦全被抹除。
安装 Ubuntu20.04 子系统
安装 WSL 子系统一共需要三步,分别为“启用适用于 Linux 的 Windows 子系统”、“启用虚拟机平台”、以及“Bios 开启虚拟化”。
一般来说虚拟化是默认禁用的,需要我们手动开启,如果你不知道自己的电脑是否开启了虚拟化,可以在通过
CTRL+ALT+DEL
打开任务管理器,点击性能,如果看到虚拟化是禁用的,那么就需要我们手动开启了。(自行百度对应牌子电脑的 Bios 如何进入,以及启用虚拟化)推荐升级 wsl2,除开解决老版本 wsl1 的一些问题,使用 Docker Desktop 需要搭配 wsl2 作为其后端 ,也许将方便你以后 Docker 的学习使用。
下面的命令请在 Bios 开启了虚拟化后进行,按 Win+X 选择“Windows 终端(管理员)”(具体名字可能有出入,但是只要打开的窗口标题有管理 or Administrator 的字样就说明已经进入带管理员权限的终端),并在 Powershell 里运行:
- 启用 “Linux 的 Windows 子系统” 可选功能
- 启用 “虚拟机平台(Virtual Machine Platform)” 可选组件
完成上述两个步骤后需要重启电脑,等待系统开启相关功能。注意 WSL2 是不需要开启 Hyper-V 的任何功能的,只需要这两个功能。
- 设置 WSL 默认安装版本为 WSL2 如果你没有升级过 WSL2,需要安装官方提供的升级包,点此下载并安装,安装后运行:
- 打开 Microsoft Store 搜索安装自己喜欢的发行版(推荐 Ubuntu)
安装的版本我选择的是 Ubuntu-20.04,如果你选择的是其他版本,区别仅在换源对应的版本号不同。
下载完成后请按 Win 键,此时可以看到 Ubuntu 已经作为一个应用存在了,点击打开 Ubuntu。此时出现一个黑窗口,并显示正在安装,需要等待一会。安装完成后,需要配置进入
Linux 的默认用户及密码,这和你首次安装 Windows 系统一样!注意用户名需要使用小写开头,密码输入时是不回显的(就是看不到你输的密码),后续使用 sudo 获取超级管理员权限同样如此,要记准和输对你的密码哦。
保证 Ubuntu WSL 已经可用,先在 Powershell 中验证当前 WSL 版本:
如果看到输出 Ubuntu 及其对应的版本为 2 即升级成功,如果没升级成功可以尝试:
- 如果首开 Ubuntu WSL 进行默认用户的配置,不小心关掉了首开窗口将会默认用 root 登录子系统。
可以使用如下命令设置回来:
WSL 迁移到 D 盘
WSL 默认安装在 C 盘,随着开发时间的增长,使用到的数据和环境越来越多,占用可能高达几十
GB,显然这对系统盘不是一件好事。为了解决这个问题,需要迁移 WSL 到其他盘符,比如 D:。
参考某木大的博客,这里修改为不要工具,直接用命令迁移(还是使用 Powershell 带管理员权限),现在先新建一个你的目标文件夹,如
D:\WSL
,然后一步步输入以下各个命令:重新导入之后,原来的 tar 文件可以删除了,它仅仅是我们备份出来的数据,真正挂载的磁盘文件叫
ext4.vhdx。
Ubuntu-20.04 换源
更新:可以通过 sed 命令直接替换原镜像了,可以不再需要手动替换源文件的文本!
这里仍然保留手动替换源的动作,如果你已经跑 sed 命令自动换源了,可以跳过手动换源步骤!
(1)手动换源:打开 wsl,输入以下命令备份原来的源
(2)手动换源:再输入以下命令打开 sources.list 配置文件更换源
配置内容如下:
因为我喜欢用中科大的源,所以这两种都是换的中科大源,你也可以选择阿里云、清华……的源。注意手动换源的方法,内容是给 Ubuntu-20.04 使用,如果是其他版本,你可以另外百度 or 谷歌搜索对应版本换源,或者使用以下命令:
以 Ubuntu-20.04 为例,其中的 Codename 就是源文件中对应的版本号,你只需要将 20.04 换源的文本中的 “focal” 替换成其他版本的版本号。
自动 or 手动换源之后,再输入命令更新源和版本包:
常用开发环境配置
安装 git
换源后的 WSL2 的 Ubuntu-20.04 maybe 安装好了 git (有同学说找不到那就安装个),因为其实是单独的系统,故 Windows 有过 git 配置后仍需要在 WSL2 再全局配置 git 用户名跟邮箱。如果你想使用 SSH 方式 clone 代码,同样需要通过 ssh-keygen 生成公钥私钥并将公钥上传到代码托管平台如 github,这里不再赘述。
安装 gcc
有两种方式可以在 Ubuntu 安装 gcc 编译器:
这里更推荐用第二条安装 build-essential,因为它可以顺便下载常用的 C/C++ 环境工具。
安装完后查看版本:
安装 node(前端开发)
node 的版本管理跟包管理同样重要,因此我建议使用 nvm 来管理 node 版本,这将方便你以后大版本的切换。 Ubuntu 环境安装 nvm 需要使用安装脚本,可以使用 curl 或 wget,这里使用 curl 为例。你可以到 gitee 上的镜像仓库查看最新版本,然后将下面的链接对应版本替换为最新版本号。
如果你 curl 几次会出现连接重置的话,可以尝试比较麻烦的方式,即直接手动拉取现成仓库。
确保你的脚本能正常运行,每次打开终端都会运行该脚本。下面我们来配置环境变量:
配置完成后,需要重新加载环境变量:
后面来下载 node:
安装好后是会将默认的 node 跟 npm 直接添加在 PATH 里的,我们可以直接查看一下 node 跟 npm 是不是都安装好:
Vscode 使用 WSL2 开发
Windows 上可以使用 Vscode 连接到我们安装的 WSL,需要安装 WSL 插件。Remote Development 三件套提供给 Vscode 强大的远程开发能力,除了 WSL 是用来连接本地 WSL,Remote-SSH 是用来连接远程服务器的,而 Dev Container 则是连接管理 Docker 容器。(现在多了个 Tunnels 是打隧道的,可忽略)
安装完成后,重新启动 Vscode,左下角会出现一个角标高亮图标,点击后等待插件在 WSL 中安装 server 就可以在 Vscode 打开一个使用 WSL 的窗口了!
WSL2 回收存储
ext4.vhdx 磁盘空间会根据加载的数据自动增长,但是无法自动回收。下面是手动回收的步骤:
Windows 系统拥有 WSL 功能,帮助开发者获得 Linux 开发环境及其体验,确实是一大利器。以往的 VMWare 虚拟机的不便,和双系统安装切换的麻烦全被抹除。
- Twikoo