wsl安装与开发环境搭建

本文最后更新于:2022年5月16日 上午

wsl2,vscode,windows terminal,zsh,docker····

Windows Subsystem for Linux

首先贴一个官方文档

什么是适用于 Linux 的 Windows 子系统

适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。

  • 在 Microsoft Store 中选择你偏好的 GNU/Linux 分发版。
  • 运行常用的命令行软件工具(例如 grepsedawk)或其他 ELF-64 二进制文件。
  • 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:
    • 工具:vim、emacs、tmux
    • 语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等。
    • 服务:SSHD、MySQL、Apache、lighttpd、MongoDBPostgreSQL
  • 使用自己的 GNU/Linux 分发包管理器安装其他软件。
  • 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
  • 在 Windows 上调用 GNU/Linux 应用程序。

什么是 WSL 2?

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是 提高文件系统性能,以及添加 完全的系统调用兼容性

这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。

单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

WSL 2安装

需要CPU开启VT(Virtualization Technology),这一步根据CPU不同操作方式不同就不细说了。

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。

以管理员身份打开 PowerShell 并运行:

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

若要更新到 WSL 2,需要运行 Windows 10。

  • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
  • 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 更新到“设置”菜单中的最新 Windows 版本

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

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

重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。

重启之后下载安装 Linux 内核更新包并将 WSL 2 设置为默认版本。

wsl --set-default-version 2

最后,打开 Microsoft Store,并选择你偏好的 Linux 分发版。

单击以下链接会打开每个分发版的 Microsoft Store 页面:

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码。

另外,以上内容貌似(?)可以使用以下一行命令解决

wsl --install -d Ubuntu-20.04

另外我发现用户名不能用大写,并且密码是不会显示出来的。

换源

如果遇到下载速度较慢,或者下载失败等问题,我们还可以把官方源换成国内源。

备份list文件

cd /etc/apt/
sudo cp sources.list sources.list.bak

备份了,如果下面的哪一步出错了好恢复。

修改list文件

管理员权限,使用 vim 进行修改:

sudo vim sources.list

把想要更换的源复制在剪切板,这里以阿里源为例:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

我们先通过按ggdG这几个字母将里面的内容全部删除,

通过按下gg后发现光标移动到文件首行了。其中,gg为跳转到文件首行;dG为删除光标所在行以及其下所有行的内容。d为删除,G为跳转到文件末尾行。

按鼠标右键会进行粘贴,然后输入 :wq! 进行退出与保存。

最后复制这两条命令进行更新镜像源列表。

sudo apt-get update
sudo apt-get upgrade

Windows terminal+vscode

Windows Terminal https://docs.microsoft.com/en-us/windows/terminal/get-started

VS Code https://code.visualstudio.com

这两样软件可以大幅提高效率(还很装逼很好看)

windows terminal各项设置可以实现许多使用功能,比如我设置了默认启动Ubuntu,添加了git bash,透明亚克力效果等(本次不介绍,感兴趣自行研究)

可以在工作区文件夹内右键然后在windows终端打开

也可以直接打开window终端,cd到对应文件夹,然后输入

code .

至此就可以实现在windows环境下编程,在linux环境下测试。

Docker

使用以下脚本可以实现自动安装。

# install docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh

if [ ! $(getent group docker) ];
then 
    sudo groupadd docker;
else
    echo "docker user group already exists"
fi

sudo gpasswd -a $USER docker
sudo service docker restart

rm -rf get-docker.sh

可以直接复制到txt中,然后修改文件类型跟文件名为install-docker.sh(后缀是sh,名字任意)

例如我在桌面放置了该脚本,右键打开终端之后输入以下命令即可完成安装。

sh install-docker.sh

接下来输入:

sudo service docker start
docker version

就可以启动服务,查看版本,证明我们已经安装成功。

如果不希望每次都特地启动docker的服务可以使用以下命令设置自启动:

sudo systemctl enable docker

关于docker的使用就大家自己研究啦。

On-my-zsh

一个美观且功能强大的终端

用windows terminal启动Ubuntu,输入以下命令安装:

sudo apt-get install -y zsh

oh-my-zsh中整理了常用的zsh扩展主题,所以先安装oh-my-zsh

使用curl安装 :

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

使用wget安装:

sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

虽然我列出了上面两条命令,但最好还是看看官网的安装页面,确保命令的最新版本。

接下来输入:

cd
code .zshrc

就可以cd到根目录文件夹,用vscode的可视化界面编辑配置文件,添加需要的扩展与主题了。

扩展与主题根据个人需求添加,本文不再赘述。

Python开发

花里胡哨那么多东西了,讲一点实战(假的)。

默认Ubuntu已经安装了python,我们只需要安装pip,就可以进行一些简单的编程。

sudo apt-get install python3-pip

当然我们不能局限于简单的编程,我们需要创建虚拟环境,确保各个环境互相隔离,互不影响。

sudo apt-get install python3-venv

创建虚拟环境:

sudo python3 -m venv env

激活与退出:

source env/bin/activate

deactivate

接下来就可以尽情地pip install了,在工作环境下新建文件夹,再用vscode打开,即可开始编程。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!