wsl install ubuntu
参考文章
安装前配置
ref: 适用于 Linux 的 Windows 子系统安装指南 (Windows 10)
1. 启用 Windows 功能
搜索并打开“启用或关闭 Windows 功能”,然后选择“适用于Linux的Windows子系统”复选框。
在windows功能中重新勾选hyper-v
然后开启hyper-v模式
在管理员powershell中执行
1 | bcdedit /set hypervisorlaunchtype auto |
如果禁用了组策略里面的Device Guard虚拟化安全设置,
需要打开组策略管理,
本地计算机策略 > 计算机配置 > 管理模板>系统 > Device Guard
打开 基于虚拟化的安全设置为“已开启”或者“未设置”
随后重新开启wsl2,若不行,重启计算机。
启用虚拟机平台可选组件
在 powerShell 中以管理员身份运行下面命令
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
1 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
运行完成之后,请重启电脑完成安装.
设置WSL发行版
如果想要将默认的WSL发行版设置成 WSL 2,在 powerShell 中使用下面命令
wsl --set-default-version 2
如果想要设置某一个发行版为WSL2,在 powerShell 中使用下面命令,将
wsl --set-version <Distro> 2
wsl --set-version Ubuntu-20.04 2
验证使用的WSL版本
wsl -l -v
下载安装 Ubuntu-20.04 (Windows 应用商店里)
更新包目录,并使用分发版的首选包管理器升级已安装的包
sudo apt update && sudo apt upgrade
Windows不会自动更新或升级Linux发行版:Linux用户经常意外自行控制此任务。
1 | ubuntu@kylin:〜$ wslfetch |
sudo apt install lolcat
lsb_release -a | lolcat
wsl ubuntu config
修改 默认的源 (更换国内源)
cp /etc/apt/sources.list /etc/apt/sourses.list.bak
更换默认源为阿里源, 使用 sudo vim /etc/apt/sources.list 命令编辑,删除原来的内容,添加下面的阿里源信息
1 | deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse |
更换源之后,使用下面的命令更新一下
1 | sudo apt-get update -y |
Windows 10 WSL Ubuntu 系统的 root 密码
Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码。
我们可以在终端输入命令 sudo passwd
,然后输入当前用户的密码,终端会提示我们输入新的密码并确认,此时的密码就是 root 新密码。
修改成功后,输入命令 su root
,再输入新的密码就 ok 了。
Linux 的 Windows10 子系统 ubuntu 设置默认用户
1 | ubuntu1804 /? |
ssh 连接 配置
在WSL Ubuntu系统中安装ssh server
当对Linux实现文件操作时,使用WinScp更为方便。因此需要使用ssh远程登陆
安装ssh serversudo apt-get install openssh-server
配置ssh
使用 cp 命令将 SSH 相关配置备份sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
使用 vim 编辑 sshd_config 文件 sudo vim /etc/ssh/sshd_config
调整一下设置:
1 | Port 22 |
1 | root@summer:/# service ssh status |
重启ssh service
1 | sudo service ssh restart |
sshd: no hostkeys available — exiting
在开启SSHD服务时报错.
sshd re-exec requires execution with an absolute path
用绝对路径启动,也报错如下:
Could not load host key: /etc/ssh/ssh_host_key
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Disabling protocol version 1. Could not load host key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available — exiting
解决过程:
1 | ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key |
如果上述两个文件存在,仍然出现这个错误,那么试试 chmod 600 上述两个文件。之后应该可以解决。
ssh login
登陆 SSH
使用 SSH 指令登陆 ssh root@127.0.0.1 -p 22
运行/停止Ubuntu子系统
wsl -l
列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是Ubuntu-18.04-20190707,接下来针对这个默认子系统进行操作:
运行子系统
wsl --distribution Ubuntu-18.04-20190707
或者wsl -d Ubuntu-18.04-20190707
查看运行中的子系统
1 | 适用于 Linux 的 Windows 子系统: |
停止子系统
wsl -t Ubuntu-18.04-20190707
或者wsl --terminate Ubuntu-18.04-20190707
备份/删除/还原子系统
备份子系统
非常简单,但一定要先停止子系统之后再备份wsl --export Ubuntu-18.04-20190707 c:\temp\Ubuntu-18.04-20190707.tar
等待完成即可。
备份成功后,子系统会被打包成命令中指定的tar文件。
删除子系统
也是一个命令即可:wsl --unregister Ubuntu-18.04-20190707
这样WSL子系统就从Windows中删除的干干净净了。
还原子系统
删除了没关系,刚才做了备份,也是一个命令还原:wsl --import Ubuntu-18.04-20190707 c:\WSL c:\temp\Ubuntu-18.04-20190707.tar
这里注意指定还原的路径。成功后,子系统又回来了,可以用wsl -l确认一下。
install docker-engines under ubuntu.
refer to: https://docs.docker.com/engine/install/ubuntu/
1 | #启动docker sudo service docker start |
install docker-compose under ubuntu.
参考: https://docs.docker.com/compose/install/
1 | sudo chmod +x /usr/local/bin/docker-compose |
在ubuntu下git checkout docker-compose目录,运行mysql等服务。在windows下,可直接使用localhost连接
1 | docker-compose up #启动并运行 |