Agent Skills
返回列表
WSL 服务部署

WSL 服务部署

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据官方安装指南 https://skillhub.cn/install/skillhub.md,将规范名为 @user_1876b8a1/wsl-service-deploy 的 WSL Service Deploy 技能安装到你的 AI 助手中。

技能介绍

要解决的问题

在 Windows 上用 WSL Ubuntu 部署后端服务时,常见几类麻烦:WSL 的 IP 动态变化,SSH 连接时灵时不灵;sudo 交互式要求输入密码,自动化脚本直接卡住;多步安装容易中途失败,apt 的依赖解析也不如 aptitude 可靠;改过的配置文件被覆盖后很难回滚。这个技能把整套流程收敛成一种“从 Windows 侧直接调用”的固定模式。

核心工作流

  • 调用方式:使用 wsl.exe -e bash -c,从 Windows 宿主机直接执行 WSL 内的命令,绕开 SSH 和动态 IP 问题。
  • 执行身份:通过 echo '' | su -c '' - root 以 root 直接运行,跳过 sudo 密码交互。
  • 脚本化:多步操作先写入 /tmp/ 下的脚本一次性执行,日志统一落在 /tmp/*.log,方便事后排查。
  • 包管理:统一用 aptitude;安装前先确认包未安装(which),清理 dpkg 残留锁文件,有残留 dpkg 进程时先 killall apt、killall dpkg 再 dpkg --configure -a。
  • 标准执行模式:写脚本 → systemctl enable && systemctl start → 有配置文件先 cp 备份为 .bak 再改 → 有默认认证就用服务自带 CLI 设置密码 → 验证版本号、端口监听、功能测试,三步缺一不可。
  • 服务速查表:内置 MySQL(mysql-server,数据目录 /var/lib/mysql,端口 3306/33060,安装后 ALTER USER 设置 root 密码,认证插件 mysql_native_password)和 Redis(redis-server,配置文件 /etc/redis/redis.conf,6379 端口,设置 requirepass 和 bind 0.0.0.0)的包名、目录、端口与自启方式。
  • 速查表之外的服务:先 aptitude search 搜包名,再用 aptitude show 或 dpkg -L 确认端口和配置路径,然后套用同一套标准模式推理部署,比如装 Nginx 就是搜包 → 写脚本 → systemctl enable nginx → curl localhost 验证。

适用边界与注意点

  • 面向 WSL Ubuntu 环境,资料中的环境是 Ubuntu 26.04 LTS、阿里云镜像源、root 密码 123456——这些前提需要与你的实际机器一致,否则要自行调整。
  • wsl.exe -e bash -c 中避免多层引号嵌套,复杂命令改用 heredoc 脚本。
  • 下载、安装等耗时操作放后台执行加日志轮询,防止前台超时。
  • 修改配置文件前必须先备份;安装完成后必须做密码登录、版本号、端口监听三类验证,不能只看进程是否起来。

使用场景

  • Windows 开发者要在 WSL Ubuntu 里装 MySQL 做本地联调,按速查表完成安装、设密码、开自启
  • 运维要把 WSL 实例中的 Redis 开放给外部连接,配置 requirepass 密码和 bind 地址
  • 遇到速查表之外的服务,用 aptitude search 自行定位包名并套用标准流程部署
  • WSL 里 dpkg 锁被残留进程占住导致安装中断,需要清锁、恢复 dpkg 后重新装

适合人员

  • Windows 后端开发者,想免 SSH 在 WSL 里快速搭出可复现的本地 MySQL/Redis 环境
  • 全栈工程师,经常在 Windows 机器上反复安装卸载测试服务,受够了 sudo 交互式密码
  • 内部工具运维,负责维护几台 WSL 开发机上的数据库和缓存服务
  • Agent 应用开发者,需要一个能被大模型直接执行的 Windows 侧 WSL 命令范式