# window下wsl2安装ubuntu(干货)
# 1.什么是wsl
Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生虚拟机开销。
# 2.优势
1.在 Microsoft Store 中选择你喜欢的Linux (Ubuntu/ Debian/ SUSE 等等)。 2.运行常用的软件/Bash shell脚本/docker 等。包括但不限于: 工具:vim、emacs、tmux 语言:Javascript/node.js、Ruby、Python、C/C++、 C# 和 F#、Rust、Go 等等 服务:sshd、MySQL、Apache、lighttpd 3.在 Windows 上调用 GNU/Linux 应用程序。
# 3.什么是wsl2
1.WSL 2 是 WSL 中体系结构的新版本,它更改 Linux 发行版与 Windows 交互的方式。 2.WSL 2 的主要目标是提高文件系统性能并增加系统调用的完全兼容性。 每个 Linux 发行版都可以作为 WSL 1 或 WSL 2 发行版运行,并可随时进行切换。 3.WSL 2 是底层体系结构的主要功能,它使用虚拟化技术和 Linux 内核来实现其新功能。
# 4.WSL2 和WSL 在用户层面的感知?
1.将 Linux 应用需要访问的文件放在 Linux 根文件系统中可以提高文件访问速度 2.在 WSL 2 预览版的初始版本中,你需要使用 IP 地址而不是 localhost 来访问网络应用程序
# windows基于WSL2的ubuntu子系统安装
# 系统条件
1.windows10系统必须是专业版
2.windows10版本2004且内部版本要高于19041
如果windows10版本过低,建议用易升升级到最新版本
# windows10上开启wsl2
# 方式1
执行Power Shll命令或通过添加windows组件开启WSL
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2
3
# 方式2
可视化操作,启动windows组件功能(位置:程序和功能-启动或关闭windows功能)
Microsoft-Windows-Subsystem-Linux (中文对应:适用于Linux的Windows子系统)
VirtualMachinePlatform (中文对应:虚拟机平台)
2
打勾
注:开启之后需要重启计算机
# 将swl2设置为默认
wsl --set-default-version 2
若提示 需要更新内核组件
下载并安装内核。内核包下载地址 (opens new window)
# 安装ubuntu
1.微软商店搜索Ubuntu,下载并安装
建议选择安装18.04版本
2.设置ubuntu用户密码
建议用户名设置user,密码自定义
3.修改wsl版本 -- 查运行系统名称 wsl -l -v -- 设置指定名称系统版本 wsl --set-version Ubuntu-18.04 2
# 软件安装
# windows主机
vscode (安装完成ubuntu子系统。vscode会提示你安装Remote - SSH插件,可访问ubuntu子系统文件)
# ubuntu子系统
git
sudo apt-get install git
vim
sudo apt-get install vim
nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
配置nvm环境变量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm install 10.15.3
nvm alias default 10.15.3
npm install -g yarn
[[ -e ~/.bashrc ]] && echo '[[ -e $(which yarn) ]] && export PATH="${PATH}:$(yarn global bin)"' >> ~/.bashrc && source ~/.bashrc
[[ -e ~/.zshrc ]] && echo '[[ -e $(which yarn) ]] && export PATH="${PATH}:$(yarn global bin)"' >> ~/.zshrc && source ~/.zshrc
2
3
4
5
6
7
8
9
10
11
12
yarn
sudo npm install -g yarn
配置yarn环境变量bashrc
ls -a 可以查看到.bashrc文件
执行下面命令:
[[ -e ~/.bashrc ]] && echo '[[ -e $(which yarn) ]] && export PATH="${PATH}:$(yarn global bin)"' >> ~/.bashrc && source ~/.bashrc
2
3
4
5
6
# gitlab配置
1.添加 SSH Key 到 GitLab
ssh-keygen -t rsa -C "email@163.com"
cat ~/.ssh/id_rsa.pub
2
2.gitlab中配置ssh keys 打开gitlab。点击User Settings-SSH Keys 添加生成的ssh keys
# 配置 Windows 到 WSL2 地址映射
- 管理员身份打开记事本 打开C:\Windows\System32\drivers\etc 选择所有文件(.) 打开hosts 文末加入
127.0.0.1 xinyu666.cn
::1 xinyu666.cn
刷新ipconfig /flushdns
2
3
# 必要软件安装
# redis安装
1.ubuntu apt命令安装(redis-cli 4.0.9)
sudo apt update
sudo apt install redis-server
启动redis
redis-server
2
3
4
2.window安装 下载redismsi (opens new window)文件,点击安装 配置环境变量
C:\Program Files\Redis
# 遇到的问题
# 1.yarn install时候出错了,npm安装版本过低了
The engine "node" is incompatible with this module. Expected version ">=10.13.0". Got "8.10.0"
原因:安装npm和node时候是以apt-get方式安装,安装的默认版本过低
sudo apt-get install nodejs
sudo apt-get install npm
2
需要卸载重新安装
sudo apt-get remove nodejs
sudo apt-get remove npm
2
# 2.出现 Command 'nvm' not found 的解决办法:
关掉当前终端并重新打开一个新的窗口,问题解决。
# 3.Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
重启docker sudo service docker start 查看docker状态 sudo service docker status
# .build.sh init没有权限
newgrp - docker
# 4.window10没有host文件
cmd执行
for /f %P in ('dir %windir%\WinSxS\hosts /b /s') do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P
http://www.xitongcheng.com/jiaocheng/win10_article_62635.html
# 5.客户端软件无法通过localhost链接到ubuntu中
1.ip设置成ipv6 ::1 2.ubuntu中通过ipconfig找到eth0的ip,通过ip访问 (window10重启之后wsl2中的ip会一直变化。解决办法 (opens new window))
# 相关资料
Windows10安装WSL2 (opens new window) Windows10基于WSL2的Ubuntu子系统安装 (opens new window) Windows10基于WSL2的Ubuntu子系统安装 (opens new window) npm使用介绍 (opens new window) .bashrc文件的作用 (opens new window) git配置用户信息 (opens new window)