基于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...

复制代码
相关推荐
2402_8575893623 分钟前
Spring Boot新闻推荐系统设计与实现
java·spring boot·后端
J老熊31 分钟前
Spring Cloud Netflix Eureka 注册中心讲解和案例示范
java·后端·spring·spring cloud·面试·eureka·系统架构
Benaso34 分钟前
Rust 快速入门(一)
开发语言·后端·rust
sco528235 分钟前
SpringBoot 集成 Ehcache 实现本地缓存
java·spring boot·后端
原机小子1 小时前
在线教育的未来:SpringBoot技术实现
java·spring boot·后端
吾日三省吾码1 小时前
详解JVM类加载机制
后端
努力的布布1 小时前
SpringMVC源码-AbstractHandlerMethodMapping处理器映射器将@Controller修饰类方法存储到处理器映射器
java·后端·spring
PacosonSWJTU2 小时前
spring揭秘25-springmvc03-其他组件(文件上传+拦截器+处理器适配器+异常统一处理)
java·后端·springmvc
记得开心一点嘛2 小时前
在Java项目中如何使用Scala实现尾递归优化来解决爆栈问题
开发语言·后端·scala
黄俊懿2 小时前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构