装完 WSL 之后第一件事做什么?我的答案永远是:先把 apt 换到国内镜像源,再谈别的。这句话我反复说过很多次,每次帮朋友排查新装的 WSL 卡顿,十个里有八个都栽在同一件事上——打开终端敲下 sudo apt update,进度条以几十 KB/s 的速度龟速爬行,等了几分钟最后还给你一个超时错误。这时候你装的就不是 Linux 开发环境,而是耐心。
WSL(Windows Subsystem for Linux)是微软提供的官方 Linux 运行环境,让开发者能直接在 Windows 里使用 Ubuntu 的命令行工具、编译器和各种开源软件;apt 是 Ubuntu 官方的包管理器,几乎所有软件都靠它来安装和更新;镜像源则是各大高校和云厂商维护的官方软件源同步副本。把这三样串起来,就是今天要聊的核心:怎么在 WSL 的 Ubuntu 里,把 apt 默认访问的海外源换成国内镜像源,让安装软件的速度从"刷完一集剧还没好"变成"倒杯水回来就装完了"。
这篇内容适合这几类人:刚接触 WSL、正卡在慢速安装上的新手;想搞明白 sources.list 和 ubuntu.sources 这两个文件到底怎么回事的进阶用户;以及换源之后遇到各种报错、想一次性把坑填平的开发者。我会把原理、实操、排错都讲清楚,你照着抄就行。
1. 先搞清楚:到底为什么要给 WSL 换 apt 源
1.1 WSL 本身的定位:它就是一台没有显示器的 Linux
很多人第一次听到 WSL 会有点懵,它到底是个虚拟机还是模拟器?准确说,WSL2 是微软基于 Hyper-V 虚拟化技术实现的一个轻量级 Linux 运行环境,但它和传统虚拟机的体验完全不同。你不需要安装完整的虚拟机管理软件,也不用分配内存和磁盘,只需要在 Windows 里执行一条 wsl --install,它就会自动拉取 Ubuntu 发行版镜像并完成初始化。
它最吸引人的地方在于和 Windows 的深度融合。你用 VS Code 打开一个 WSL 内的项目,编辑器会自动以远程模式连接进去,终端、调试器、扩展全都工作在 Linux 环境里;你在 Windows 资源管理器里可以直接访问 WSL 内部文件,也可以反过来在 Linux 里访问 Windows 的磁盘目录。对于需要运行 Linux 工具链、编译 C/C++ 项目、跑 ROS、调用 GPU 做深度学习的人来说,WSL2 基本就是零成本解决了"开发环境不统一"的痛苦。
但环境再好,软件装不上就等于零。WSL 里的 Ubuntu 是一个完整的系统,它装软件的核心通道就是 apt,而 apt 默认连接的软件仓库服务器在海外。这个问题从 WSL 诞生的那天起就存在,一直坑到今天的 2025 年也没变。
1.2 慢的问题根源:Ubuntu 官方源在海外
apt 工作原理不复杂,你可以把它理解成一个"谷歌搜索+应用商店"的合体。当你执行 sudo apt update 时,apt 会读取源配置文件,去里面列出的服务器地址下载一份软件包索引;当你执行 sudo apt install 软件名 时,它再从这些服务器下载对应的 .deb 安装包。源配置文件里写的是什么地址,它就访问什么地址。
Ubuntu 系统的默认源地址只有两个:
http://archive.ubuntu.com/ubuntu,负责主要的软件包和更新;http://security.ubuntu.com/ubuntu,负责安全补丁。
这两个服务器都部署在海外。国内家庭宽带、教育网、企业网络访问跨国服务器的物理距离远,经过的骨干网节点多,高峰期经常出现连接不稳定、带宽跑不满的情况。加上 apt 对连接失败的重试机制本身比较保守,一旦某个文件下载超时,整个安装流程就会卡住或者中断,非常折磨人。
换源要解决的就是这个问题:把配置文件里的官方地址替换成国内镜像站地址,这些镜像站每隔几小时到一天就会同步一次 Ubuntu 官方仓库的所有内容,数据是一致的,只是访问路径变近了,下载速度自然就上来了。
1.3 换源不等于改系统,放心搞
我见过不少新手对"改源"这件事有心理负担,觉得动系统配置文件很危险。其实完全不用慌。apt 源配置就是一个纯文本文件,你改的是"软件从哪里下载"这个地址,不涉及内核、驱动程序、系统核心组件。想恢复原状,把备份文件覆盖回去,或者把地址改回 archive.ubuntu.com 即可,整个过程 30 秒内就能完成回滚。
真正要记住的唯一原则是:修改之后必须执行一次 sudo apt update 刷新索引,让 apt 去新的服务器地址获取软件包列表。如果不做这一步,apt 用的还是旧索引,虽然也能装软件,但可能装到一半发现文件找不到,反而制造新的报错。把这个习惯刻在脑子里,换源这件事就成功了一半。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 动手前花三分钟做的准备工作
2.1 确认 Ubuntu 版本和源文件格式
不同版本的 Ubuntu,apt 源配置文件的位置和格式差别很大。很多教程只讲老格式,照着改新版系统就会翻车,所以第一步一定是先确认你的系统版本。
在 WSL 终端里执行:
bash复制cat /etc/os-release
lsb_release -a
看输出里的版本号。这里要记住一个关键分界线:Ubuntu 24.04 是一个格式切换的里程碑版本。24.04 及之后的版本,apt 源默认使用 deb822 格式,配置文件在 /etc/apt/sources.list.d/ubuntu.sources;而 24.04 之前的版本,比如 20.04、22.04,使用的是传统 one-line 格式,配置文件是 /etc/apt/sources.list。
区分方法也很简单,直接看文件:
bash复制cat /etc/apt/sources.list
如果文件内容是一行行以 deb 开头的地址,就是老格式;如果提示文件不存在或者内容为空,再检查一下 /etc/apt/sources.list.d/ 目录下有没有 ubuntu.sources 文件。两种情况的操作我都放在后面第 4 节,按自己的版本对号入座即可。
