Windows10平台下使用Linux子系统Ubuntu
笔者平时使用linux系统都是在树莓派上,笔记本电脑碍于配置低,运行虚拟机实在太卡,于是想起Windows10平台可以开启使用Linux子系统,于是安装测试一番,效果非常不错,可以作为开发测试平台,不用等到连服务器或者树莓派就可以完成一些测试和验证。
1、控制面板
win+R 运行程序,输入control并确定,进入控制面板界面,点击“程序和功能”选项,选择左侧的“启用或关闭Windows功能”,进入windows功能界面,选择启用linux子系统选项。完成后需要重启一下电脑。

2、启用开发人员选项
打开开始菜单,点击设置按钮进入设置界面,选择“更新和安全”,点击开发者选项,并选择“开发人员模式”,开启开发人员模式。

3、安装ubuntu系统
在windows store里面搜索ubuntu,选择需要的Ubuntu系统安装。当然也可以搜搜其他系统,比如cetnos suseos等等,只要windows store里面有就可以,有一些一些不是官方的,有可能也要收费。

4、设置控制台
安装完成后在windows store里面启动ubuntu,或者在开始菜单里面选择ubuntu来启动,发现会出现“不受支持的控制台设置”,这时就需要设置控制台了,不要用cmd,用power shell。勾掉使用旧版控制台选项,即使用新版power shell。

5、启动ubuntu系统
点击开始菜单里面的ubuntu,从控制台启动Ubuntu系统,开始使用。
查看wifi的ip地址:echo wlan0=`ifconfig wifi0 | head -n2 | grep inet | awk '{print$2}'` ,但是发现没有net-tools包,于是 apt install net-tools安装。其实安装的子系统和虚拟机还是有差别的,虚拟机需要配置才能上网,而子系统是跟随windows系统的,整个命令行用起来是十分方便,就和putty远程到其他linux主机一样的。
需要注意的是,进入ubuntu系统默认是root用户,有超级权限的,可以运行whoami看看。
有需要的话,可以配置源/etc/apt/sources.list,加速国内访问速度。

查看ubuntu进程的使用情况,相比于虚拟机,子系统更加像一个windows程序。

再运行一个复杂的脚本,参考笔者的文章-Linux健康检查脚本health-check-script。子系统可以作为一个自带网络的测试平台,用起来很是方便了。

6、子系统与windows之间传递文件
在子系统和windows间怎么传递文件呢,对于不同的平台可以使用winscp来传递,但是子系统在windows平台来说相对于一个进程,传递文件可以直接cd进子系统里根目录下“/mnt/”文件夹下,可看到硬盘的各个分区,然后利用里面的文件。
子系统将硬盘挂载到mnt/目录下。

7、Ubuntu安装mariadb数据库
安装前需要搜索是否有源:apt-cache search mariadb-server,显示没有,于是要更新一些apt-get update更新软件列表。再次搜索显示有源。
安装数据库:apt-get install mariadb-server
尝试连接数据库mysql -hlocalhost -uroot,但是又错误告警Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' ,于是启动service mysql start启动数据库后正常。
安装连接成功,在任务管理器查看mysqld进程发现占用cpu非常高,达到70%左右,查看数据库log,发现有个两条告警日志:“[Warning]InnoDB: Linux Native AIO interface is not supported on this platform. ”、“[Warning]InnoDB: Linux Native AIO disabled.” 。
