Win10安装WSL-Ubuntu18.04
一:安装前准备
适用于Linux的Windows子系统 这个勾选上,确定,安装后重启电脑。
二:win应用商店安装 Ubuntu18.04 LTS
到 Microsoft Store 下载安装 Ubuntu 18.04 LTS 下载安装完成后,打开 开始 菜单,能看到 直接打开这个, 会让你设置用户名,设置密码。 设置完成后,到此 可以说是已经安装完成成了。
三:设置apt源为国内源
/etc/apt/sources.list 这个文件,先备份一份。
cd /etc/apt
cp sources.list sources.list.bk
然后清空 原来的 source.list 文件 清空命令: sudo echo "" > sources.list 然后使用vm编辑该文件 sudo vi 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
添加上面内容后,保存,退出。 然后更新源
sudo apt-get update && sudo apt-get upgrade -y
到此,Ubuntu源就切换为国内源了,使用 apt-get 安装时就会快很多。
四:迁移WSL到非系统盘
WSL默认是安装到C判断,当Ubuntu系统安装东西多了,占用的空间就多了,c盘可用空间就小了。接下来看看如何迁移到非系统盘吧。
1)先查看wsl子系统版本,随便打开个cmd,输入如下命令
? wsl -l -v 如图所示,我的 WSL子系统是 Ubuntu-18.04 版本的,注意后面的 VERSION,我这里是2,是因为我使用的是WSL2这个版本,你们的很大可能是1,从应用商店安装的,默认就是WSL1。这个不用担心,接下来会说明如何升级到 WSL2的,因为我的也是从1升级到2的。
2)导出系统
打开cmd,输入如下命令
wsl --export Ubuntu-18.04 d:\ubuntu18.04.tar
命令解释: Ubuntu-18.04 是通过 wsl -l -v 查看到的,分发版本号 d:\ubuntu18.04.tar 是要保存导出的系统文件的路径,这个路径你随意,想要导出到其他盘,使用其他名称也可以,如 E:\my_ubuntu_18.04_LTS.tar 这也是可以的。
3) 注销当前分发版本
还是在cmd中指向如下命令
wsl --unregister Ubuntu-18.04
4)重新导入并安装分发版本
在重新导入之前,如果你的 WSL版本是1,则需要先升级下WSL版本。 如果不升级,在导入安装时,会报 WSL 2 需要更新其内核组件。 这个错误 下载 wsl_update 更新文件 x64版本下载地址: wsl_update_x64.msi 下载后,直接打开安装,一路点击 next 即可。 安装后,重启电脑。 此时,导入系统还不行,可能会报 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化 ,如何解决请看下面 打开控制面板-程序-启用或关闭Windows功能 这里要 勾选 Hyper-V ,点确定安装后,在执行下面一条指令 使用 管理员方式打开 PowerShell 输入命令
bcdedit /set hypervisorlaunchtype auto
回车,然后重启电脑。 重启电脑后,现在来开始重新导入并安装分发版本 在cmd中执行如下命令:
wsl --import Ubuntu-18.04 d:\ubuntu_18.04 d:\ubuntu18.04.tar --version 2
命令解释: 把 之前导出的 ubuntu18.04.tar 导入到 路径 d:\ubuntu_18.04 这个文件夹(这个文件夹先创建好,在执行上述命令) 设置默认登陆用户为安装时用户名 还是在cmd中执行下面的命令 ubuntu1804 config --default-user 你的用户名 解释:你的用户名 是在第二:安装这里设置的用户名。 如:我这里安装是设置了用户名为 zhangsan 则,我这里的命令就是 ubuntu1804 config --default-user zhangsan 即可。 最后,导出的tar文件,删不删出自己决定呗。我就留着,作为备份。 到此,WSL子系统Ubuntu18.04就迁移完成了。
五:WSL子系统关机与重启
脚本控制WSL子系统重启、关机。
@echo off
:again
set /p num=请输入操作:1重启 2:关机【输入0退出】:
if "%num%" EQU "0" (
echo 程序退出
pause
exit
)
if "%num%" NEQ "1" (
if "%num%" NEQ "2" (
echo 输入有问题,直接退出
pause
exit
)
)
if "%num%" EQU "1" (
echo 正在为您重启
net stop LxssManager
net start LxssManager
pause
exit
)
if "%num%" EQU "2" (
echo 正在为您关机
net stop LxssManager
pause
exit
)
把上面的代码拷贝,保存到text文件,然后后缀改为.bat 。运行的时候,使用管理员方式运行。
六:WSL安装openssh,配置远程登录
系统会默认安装 openssh-server 服务。但是这个不好用,把它删了,重新下载 登录Ubuntu18.04,在终端输入命令
sudo apt-get remove openssh-server
删除掉,然后重新安装
sudo apt-get install openssh-server
安装后,修改配置文件 /etc/ssh/sshd_config
sudo vim /etc/ssh/sshd_config
Port 23333
PasswordAuthentication yes
然后重启服务:
sudo service ssh --full-restart
七:安装MySQL 5.7.36
下载MySQL5.7.36安装包。 登录Ubuntu18.04,使用wget 命令下载 MySQL.tar安装包
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-server_5.7.36-1ubuntu18.04_amd64.deb-bundle.tar
下载完后,直接解压
tar xf mysql-server_5.7.36-1ubuntu18.04_amd64.deb-bundle.tar
解压后有很多个.deb包,如下图所示 ,其中蓝色方块圈起来的是 之前下载的 tar包。 开始安装MySQL
sudo apt install ./*
apt是可以直接安装deb包的。 注意,在安装过程中,会提示要求设置 MySQL登录用户名和密码 我这里直接设置 root 用户 密码为 123456 安装后,启动MySQL, 命令如下
cd /etc/rc5.d
sudo ./S01mysql start
登录MySQL。 mysql -u root -p 回车,然后输入密码 123456 即可。
八:额外说明
openssh-server好像不会自动启动,尝试过几种方式,都不行,等以后可行方法再说。 现在每次启动Ubuntu,都需要手动开启 ssh服务, 执行命令:
sudo service --full-restart
sudo service start
同样,MySQL服务好像也是没有自动启动。手动启动命令:
sudo /etc/rc5.d/S01mysql start
|