基于Windows打造属于个人的Linux子系统

写在文章开头

因为个人使用Windows系统进行开发,所以很多场景下涉及Linux缓解的部署配置要么采用个人云服务器或者虚拟机,近期受朋友安利了解到Windows下的Linux子系统,查看微软的介绍可知它有如下几个优势:

  1. 直接嵌入Windows系统,无需像双系统或者虚拟机那样配置繁琐。
  2. 结合Vs Code实现Windows系统开发,Linux子系统部署调试。
  3. Linux直接集成在Windows环境隔离却可以互相操作彼此路径的文件。

总的来说,通过WSL2可以快速打造出在本地Linux开发的环境,实现本地开发和调试Linux应用,所以这篇文章笔者就以自己的win 10系统来演示一下WSL的环境配置与安装。

Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源项目 Java Guide 的维护者之一,熟悉 Java 也会一点 Go ,偶尔也会在 C源码 边缘徘徊。写过很多有意思的技术博客,也还在研究并输出技术的路上,希望我的文章对你有帮助,非常欢迎你关注我的公众号: 写代码的SharkChili

因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注 "加群" 即可和笔者和笔者的朋友们进行深入交流。

快速开始

安装WSL

首先我们需要以管理员的身份打开powershell键入WSL安装指令进行WSL安装:

bash 复制代码
wsl --install

静待一段时间等待安装完成:

注意 :默认情况下我们安装的都是Ubuntu系统,如果你需要安装别的类型的Linux系统需要通过wsl --list --online当前可以安装的发行版本。

bash 复制代码
PS C:\Users\shark-chili> 
以下是可安装的有效分发的列表。
使默认分发用 "*" 表示。
使用 'wsl --install -d <Distro>' 安装。

  NAME                                   FRIENDLY NAME
* Ubuntu                                 Ubuntu
  Debian                                 Debian GNU/Linux
  kali-linux                             Kali Linux Rolling
  Ubuntu-18.04                           Ubuntu 18.04 LTS
  Ubuntu-20.04                           Ubuntu 20.04 LTS
  Ubuntu-22.04                           Ubuntu 22.04 LTS
  OracleLinux_7_9                        Oracle Linux 7.9
  OracleLinux_8_7                        Oracle Linux 8.7
  OracleLinux_9_1                        Oracle Linux 9.1
  openSUSE-Leap-15.5                     openSUSE Leap 15.5
  SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
  openSUSE-Tumbleweed                    openSUSE Tumbleweed

然后通过wsl --install -d <Distribution Name>指令完成安装,例如我们要安装Debian,则对应的安装指令为wsl --install -d Debian

重启使之生效

完成安装后,终端提示:请求的操作成功。直到重新启动系统前更改将不会生效。 所以我们需要重启一下计算机,随后我们就可以在开始菜单上看到ubuntu系统,我们将其打开,因为是初次安装所以要进行一次漫长的初始化。

初始化配置账号密码

初次使用需要设置一下账号和密码,这里我们按照个人习惯设置一下即可:

使用Linux子系统

后续我们就可以在终端界面操作这个Linux子系统了:

这里也顺便安利一下MobaXterm这款ssh连接工具,笔者发现在完成WSL安装之后,该工具自动识别到了这个子系统,点击连接可以直接操作Ubuntu子系统:

安装MySQL

更新可用包

因为MySQL是个人比较常用到的数据库,所以笔者这里就以MySQL为例演示一下数据库的安装,首先我们更新一下Ubuntu的可用包:

bash 复制代码
sudo apt update

安装数据库服务端

然后就可以键入install命令安装MySQL了:

bash 复制代码
sudo apt install mysql-server

验证安装结果

等待一段时间之后我们可键入查看版本号的命令查看MySQL是否安装成功:

bash 复制代码
mysql --version

随后我们再通过下述指令检查一下MySQL的运行状态,如果正处于运行中我们就可以开始后续的配置工作了:

bash 复制代码
systemctl status mysql

初始化密码

首先我们键入sudo mysql进入MySQL管理界面并键入use mysql,键入如下指令修改root账户密码:

bash 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '新密码';

连接测试

完成后我们即可实现通过Windows上的本地ip访问MySQL

可以看到正确的输入账号和密码连接成功了:

修改端口号

需要注意的是WSL内部的端口号是和Windows主机共享的,所以我们建议对修改一下WSL上的MySQL端口号:

bash 复制代码
sudo vim /etc/mysql/my.cnf

在这段配置上追加如下内容:

bash 复制代码
[mysqld]
port=3307

完成后重启mysql:

bash 复制代码
sudo service mysql restart

后续我们就可以通过本地的3307端口号访问MySQL数据库了。

小结

总的来说WSL对于笔者的日常开发带来不少便利,通过在Windows系统下安装一个Linux子系统简化了一些个人日常的开发和部署调试工作,提高了笔者的生产力,也希望对你有帮助。

Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是开源项目 Java Guide 的维护者之一,熟悉 Java 也会一点 Go ,偶尔也会在 C源码 边缘徘徊。写过很多有意思的技术博客,也还在研究并输出技术的路上,希望我的文章对你有帮助,非常欢迎你关注我的公众号: 写代码的SharkChili

因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注 "加群" 即可和笔者和笔者的朋友们进行深入交流。

参考

设置 WSL 开发环境:learn.microsoft.com/zh-cn/windo...

开始使用适用于 Linux 的 Windows 子系统上的数据库:learn.microsoft.com/zh-cn/windo...

复制代码
相关推荐
m0_7482338818 分钟前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis
一个热爱生活的普通人21 分钟前
深入解析Go语言Channel的底层实现与高效使用实践
后端·go
Victor35625 分钟前
Zookeeper(78)Zookeeper的性能优化有哪些方法?
后端
不懂901 小时前
Spring Boot集成Jetty、Tomcat或Undertow及支持HTTP/2协议
spring boot·后端·http·https
总是学不会.3 小时前
从“记住我”到 Web 认证:Cookie、JWT 和 Session 的故事
java·前端·后端·开发
Neozsvc3 小时前
飞书工单审批对接腾讯电子签:开启合同流程自动化新时代
运维·人工智能·后端·自动化·飞书
℡52Hz★3 小时前
利用node.js搭配express框架写后端接口(一)
后端·node.js·express
IT闫3 小时前
【SpringBoot】——如何在Spring Boot中使用ThreadLocal来存储和获取用户详情信息以及实体类参数验证
java·spring boot·后端
编程诗人华仔4 小时前
若依框架实际国际化前后端统一解决方案
java·vue.js·spring boot·后端·elementui
艾迪的技术之路4 小时前
通过Jenkins部署应用到K8S的操作手册
后端