-
前言
本来想在阿里云服务器上安装 jenkins,但是配置高的服务器价格太贵,配置低的非常容易 cpu 100%,不利于测试。所以打算直接用台式机做虚拟云主机。 -
参考文章
Win10 系统安装 Linux 子系统教程(WSL2 + Ubuntu 20.04 + Gnome 桌面 ) -
更新
1 | 24-09-22 初始记录 |
安装 WSL
安装 WSL1
-
管理员身份运行 PowerShell
-
输入命令,启用适用于 Linux 的 Windows 子系统功能
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
-
在 Microsoft Store 中选择中意的 Linux 分发版本,并安装
-
为新的 Linux 分发版创建用户账户和密码
升级到 WSL2
-
开启“虚拟机平台”可选功能
1 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
-
重启电脑
-
下载 Linux 内核更新包适用于 x64 计算机的 WSL Linux 内核更新包
-
设置 WSL 版本
1 | PS C:\Users\user-name> wsl --set-version Ubuntu-20.04 2 |
使用 WSL
启动和退出 Linux
进入 Linux 子系统有以下几种方式:
(1)和正常软件一样启动,如在开始菜单中点击其图标、双击桌面快捷方式
(2)在 Windows 中打开一个终端,如 PowerShell,输入命令 wsl
(3)在终端中输入命令 Linux 发行版名称.exe
,如 ubuntu20.04.exe
退出 Linux 子系统的方式:
(1)直接关闭终端
(2)在终端中输入命令 exit
,此时退出了 WSL,然后输入命令 wsl -t Ubuntu-20.04
,关闭 ubuntu 子系统。
1 | 列出所有分发的名称、运行状态、对应的 WSL 版本 |
换源
使用 Linux 子系统时,为了提高软件的安装速度,需要将软件源换成国内的镜像源。
-
备份原来的数据源配置文件
1 | sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup |
-
修改数据源配置文件
1 | sudo vi /etc/apt/sources.list |
1 | 默认注释了源码仓库,如有需要可自行取消注释 |
-
更新源,升级软件
1 | sudo apt-get update |
使用 SSH 登录 Linux 子系统
开启 SSH 并允许 root 登录
-
安装 SSH 服务器
1 | sudo apt update |
-
修改配置端口为 22,允许密码和 root 登录。
1 | sudo nano /etc/ssh/sshd_config |
找到下面的内容并去掉注释在前面的#号,其中把 PermitRootLogin prohibit-password
更改为 PermitRootLogin yes
这是允许用 root 登录的。
1 | Port 22 |
-
重启 SSH 服务
1 | service ssh restart |
-
终端测试连接输入指令,格式为:
ssh 用户名@域名/IP
1 | ssh root@0.0.0.0 |
-
确保 SSH 服务器会在系统启动时自动启动
1 | sudo systemctl enable ssh |
-
配置永久解决方案将上述的命令保存为 service.sh,保存在 home 目录下
1 | >>> service ssh restart >>> |
配置好之后,下次开机,只需要在 Linux 子系统的默认终端运行 sh service.sh 命令后,关掉终端改用 xshell 登录即可。
-
查看 SSH 监听端口
1 | sudo ss -tuln | grep 22 |
-
SSH 服务器状态
1 | sudo service ssh status |
设置默认使用 root 登录系统
-
切换 root 权限
1 | sudo -i |
-
创建/打开
/etc/wsl.conf
,添加以下内容
1 | [user] |
-
运行以下命令重新启动 WSL 以应用更改
1 | wsl --shutdown |
设置端口转发
为了能够从外部连接到你的 WSL Linux 子系统,你需要确保系统具有公共 IP 地址,或者设置端口转发以将流量路由到 WSL 子系统的局域网 IP 地址。请检查你的网络配置,确保 WSL 子系统能够访问公共网络,并且有一个可供外部访问的 IP 地址。
-
增加转发的命令:
1 | netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=[IP] connectport=[PORT] |
-
删除转发的命令:
1 | netsh interface portproxy delete v4tov4 listenport=22 listenaddress=0.0.0.0 |
-
使用以下命令列出当前的端口转发规则:
1 | netsh interface portproxy show all |
-
测试连接的命令:
1 | ssh username@ip -p 22 |
这里测试连接的 ip 可以在 linux 内使用命令
hostname -I
进行查看
卸载 Linux 系统
1 | wsl --unregister Ubuntu |