很多人在 Windows 上第一次装好 WSL,敲下第一行 sudo apt update,就卡在了下载速度上。我从 WSL 1.0 一直用到现在的 2.0,也在这上面栽过不少跟头——看着 apt 一秒几 KB 的进度条,一度怀疑是电脑坏了。折腾过后才发现,默认的 apt 软件源放在境外服务器,从国内访问就是慢,解决办法也很直接:把 apt 的软件源换成国内镜像源。这篇就来完整梳理一遍 WSL 下 apt 换源的原理、步骤和避坑经验,读完你也能在几分钟内搞定,后面装 ROS、CUDA、编译工具链都顺畅不少。想直接动手的朋友,可以从第 2 节的操作部分开始;想搞清楚为什么换源能提速的,建议从头到尾看一遍。
1. 为什么要换apt源:从WSL下的下载困境说起
1.1 apt源的工作机制
apt(Advanced Package Tool)是 Ubuntu 等 Debian 系发行版的包管理工具。它和软件源的关系,有点像手机应用商店和商店服务器——apt 会从配置好的软件源服务器拉取软件包元数据和 deb 安装包。这些源地址通常写在 /etc/apt/sources.list 文件里,或者写在 /etc/apt/sources.list.d/ 目录下的多个文件里。WSL 里的 Ubuntu 默认使用 archive.ubuntu.com、security.ubuntu.com 这些官方源,服务器部署在境外,国内用户访问时的网络链路非常长,晚高峰经常出现连接超时、速度只有几 KB 的情况。WSL 本身又不像宿主机 Windows 那样有各种下载通道,所以 apt 龟速就成了很多人刚上手 WSL 时的第一道坎。
1.2 镜像源为什么能提速
镜像源就是把上游软件源的文件在本地或国内服务器上做一份完整拷贝,每隔几小时到一天自动同步。国内访问这些服务器时,网络路径更短,出口带宽更充裕,所以同样的 apt update 和 apt install 速度能快几十倍。值得注意的是,镜像源不是单独维护了一份修改版软件包,数据内容与官方源几乎一致,只是传输通道变了。所以在 apt 看来,换源只是换了一台软件包服务器,不会影响系统更新和软件安装的兼容性。这就像买同一个牌子的矿泉水,楼下便利店和远处大超市都能进货,只是楼下这家路近、耗油少、拿货快。
1.3 换源前需要确认的四件事
- 确认 Ubuntu 版本:不同版本的软件仓库代号不同,写错代号会导致 404 或依赖错乱,用
lsb_release -a查看。 - 确认是否留存备份:改配置前先把 sources.list 或 ubuntu.sources 复制一份,出错能秒回滚。
- 确认网络可用性:换源后需要用
apt update验证,如果 WSL 连不上外网,再好的镜像源也白搭。 - 确认系统时间:WSL 时钟有时漂移,时间偏差过大会导致 https 证书校验失败,可以先
date看一下。
这几点都是血泪教训换来的。系统时间那条尤其隐蔽,我后面专门讲,它容易让人误以为是源配错了。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. apt换源全流程:备份、改源、验证
2.1 确认系统版本并备份配置
进入 WSL 终端后,先跑命令:
bash复制lsb_release -a
输出会包括 Distributor ID、Release(比如 22.04、24.04)和 Codename(jammy、noble)。这个 Codename 是配置源的关键字。然后备份:
bash复制sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
如果是 24.04 或之后的版本,配置文件可能在 /etc/apt/sources.list.d/ubuntu.sources,同样备份一份:
bash复制sudo cp /etc/apt/sources.list.d/ubuntu.so
