MSYS2 国内镜像加速:三步切换清华/中科大源,下载提速 1000 倍 国内镜像加速三步切换镜像国内镜像加速——解决 pacman 下载慢本课目标三步切换国内镜像mirrorlist 文件的工作原理本页大纲三步切换镜像 为什么 pacman 下载慢得让人崩溃 三步切换全景——从慢到快只需三下 清华 vs 中科大——两大镜像怎么选 速度实测对比表——LKS32 安装过程的真实数据 国内常见 MSYS2 镜像一览——选择多多 镜像同步机制——为什么镜像几乎最新 镜像切换的完整命令清单——复制即用 镜像配置 FAQ——安装期最常见的问题 恢复默认源——用备份一键还原 镜像切换的完整演练——从零到一百 镜像之外的下载加速——J-Link/STM32Cube 等软件怎么加速 本课速记卡——镜像加速三句话 镜像原理十问——彻底吃透下载加速这件事️ 切换镜像的后悔药——三种还原方式详细编辑步骤详细的文件编辑步骤步骤 1编辑 mirrorlist.mingw步骤 2编辑 mirrorlist.msys同样操作注意mirrorlist.clang64 也要改如果你用 Clang本页大纲详细编辑步骤 两个 mirrorlist 文件——谁管什么✏️ 完整编辑命令——复制粘贴即可 修改前后对比——同一文件两种命运⚠️ 常见编辑错误——五连坑避雷 手动编辑教程——不用命令行的替代方案 深入mirrorlist 文件格式解析️ 排错专项——改了镜像还是不快的五种情况 heredoc 方式 vs echo 方式——两种写文件方法对比️ 镜像地址的完整写法——五条通用模板 镜像配置的心智模型——一次理解终身受用 验证地址是否可用的技巧——配置前先测 mirrorlist 配置对比——国内源 vs 官方源的取舍 pacman.conf 里的相关配置——镜像之外还有两个提速点 镜像配置检查清单——配完逐项打勾摘要MSYS2 默认源在国外国内下载慢到崩溃。本文教你三步切换清华源/中科大源让 pacman 加速 1000 倍5 分钟配好适合 Windows 下使用 MSYS2 的开发者。三步切换镜像国内镜像加速——解决 pacman 下载慢MSYS2 的默认软件源在德国和日本——国内直接下载速度可能只有 10 KB/s。安装 200MB 的 arm-none-eabi-gcc 要等几个小时。切换到国内镜像后只需几十秒。本课目标会配置清华/中科大 MSYS2 镜像源理解 mirrorlist 文件的优先级机制配置后验证下载速度三步切换国内镜像步骤操作说明1编辑C:\msys64\etc\pacman.d\mirrorlist.mingw把清华源Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo/放在最前面2编辑C:\msys64\etc\pacman.d\mirrorlist.msys把清华源Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/放在最前面3打开 UCRT64 终端 -pacman -Syu刷新软件包数据库——此时 pacman 会从清华源非德国/日本源下载 备选镜像清华挂了用中科大https://mirrors.ustc.edu.cn/msys2/mingw/$repo/。——用法完全一样替换 URL 即可。mirrorlist 文件的工作原理pacman 下载软件时——按 mirrorlist 文件中的顺序依次尝试。第一个响应的 Server 被使用。所以清华源排在第一位 优先使用清华源。本页大纲三步切换镜像① 为什么下载慢默认走国外源→ ② 三步切换全景 → ③ 清华/中科大镜像对比 → ④ 交互镜像切换模拟 → ⑤ 速度实测对比 为什么 pacman 下载慢得让人崩溃MSYS2 的默认镜像服务器在国外。国内网络访问时速度通常只有10-100 KB/s——安装 gcc 要下载 98.5 MiB意味着你要等20-160 分钟。更糟的是经常连接超时、中途断线一切重来。这不是你的网络问题是物理距离问题。 三步切换全景——从慢到快只需三下 清华 vs 中科大——两大镜像怎么选对比清华 TUNA中科大 USTC地址mirrors.tuna.tsinghua.edu.cnmirrors.ustc.edu.cn稳定性老牌长期稳定同样稳定同步延迟约 4 小时约 6 小时教育网有专属加速有专属加速推荐✅ 首选本教程备选 选择建议先试清华如果下载报错偶尔同步问题把中科大地址放第一行即可切换。两个都写进文件pacman 会自动按顺序尝试。 速度实测对比表——LKS32 安装过程的真实数据场景默认源清华镜像倍率98.5 MiB 工具链20-160 分钟约 10 秒1000xpacman -Sy 刷新1-5 分钟约 2 秒150x小包几百 KB10-30 秒即时—断线重试次数经常几乎为 0— 结论切换镜像不是优化是*“从不可用到可用”*。没有镜像加速你在国内几乎无法流畅使用 MSYS2——这是环境搭建的必备步骤不是可选项。 一句话总览镜像加速 把下载入口从国外搬到国内。三步切换找文件→贴地址→验证5 分钟配置之后下载快 1000 倍——这是整个环境搭建里性价比最高的一步。 国内常见 MSYS2 镜像一览——选择多多镜像地址特点清华 TUNAmirrors.tuna.tsinghua.edu.cn/msys2最流行、同步快、稳定中科大 USTCmirrors.ustc.edu.cn/msys2稳定、教育网快阿里云mirrors.aliyun.com/msys2带宽大、商业级稳定腾讯云mirrors.cloud.tencent.com/msys2带宽大南京大学mirror.nju.edu.cn/msys2教育网友好 选哪个都行核心是国内 https 同步及时。本教程用清华最流行、资料最多中科大/阿里云作为备用。如果某个源偶尔抽风把另一个放第一行即可。 镜像同步机制——为什么镜像几乎最新 镜像切换的完整命令清单——复制即用# 备份 cp /etc/pacman.d/mirrorlist.mingw{,.bak} cp /etc/pacman.d/mirrorlist.msys{,.bak} # 写入清华 中科大mingw 文件 cat /etc/pacman.d/mirrorlist.mingw # 写入清华 中科大msys 文件 cat /etc/pacman.d/mirrorlist.msys # 刷新 pacman -Sy 脚本的好处一条条 echo 容易漏用 cat heredoc 一次写多行两个镜像都配上。清华挂了自动用中科大双保险。 镜像配置 FAQ——安装期最常见的问题问题答案必须切换镜像吗在国内强烈建议——否则下载慢 1000 倍且易断线切换会破坏什么吗不会——只是换下载源包内容完全一致镜像和官方源内容一样吗一样最多晚 4-6 小时同步——安全可靠以后要换回官方源把 .bak 备份文件恢复即可公司内网需要代理MSYS2 走系统代理或配置 pacman 代理镜像会永久可用吗清华/中科大/阿里云都是长期维护的公共镜像 恢复默认源——用备份一键还原# 之前备份过 .bak恢复只需两步 $ cp /etc/pacman.d/mirrorlist.mingw.bak /etc/pacman.d/mirrorlist.mingw $ cp /etc/pacman.d/mirrorlist.msys.bak /etc/pacman.d/mirrorlist.msys # 刷新数据库 $ pacman -Sy # 如果没备份重装 MSYS2 或从官网下载默认 mirrorlist 这就是备份的价值改配置前备份是好习惯——出问题 5 秒还原不用重装系统。以后改任何系统配置都建议先备份。 镜像切换的完整演练——从零到一百# ① 确认当前状态默认源 $ cat /etc/pacman.d/mirrorlist.mingw | head -3 Server https://mirror.msys2.org/mingw/ucrt64 Server https://mirror.rackspace.com/msys2/mingw/ucrt64 Server https://mirrors.kernel.org/msys2/mingw/ucrt64 # ② 备份 $ cp /etc/pacman.d/mirrorlist.mingw /etc/pacman.d/mirrorlist.mingw.bak $ cp /etc/pacman.d/mirrorlist.msys /etc/pacman.d/mirrorlist.msys.bak # ③ 写清华两文件 $ echo Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64 /etc/pacman.d/mirrorlist.mingw $ echo Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch /etc/pacman.d/mirrorlist.msys # ④ 刷新验证 $ pacman -Sy :: 正在同步软件包数据库... 完成 ← 秒级 成功 # ⑤ 装个包实测可选 $ pacman -S mingw-w64-ucrt-x86_64-gdb-multiarch 12.4 MiB 38.2 MiB/s 00:00 ← MB/s 级 完全生效 五步演练的意义这是完整闭环查看现状 → 备份 → 写地址 → 刷新 → 实测。以后任何机器新电脑/同事电脑都能按这五步 5 分钟配好。 镜像之外的下载加速——J-Link/STM32Cube 等软件怎么加速软件加速方式说明J-Link 软件官网下载SEGGER 服务器在国外可用浏览器下载加速插件/代理STM32CubeMX配置内置下载源为国内镜像Settings 里可改GitHub Releasesghproxy / 镜像站下载 release 时前缀代理VSCode 扩展marketplace 一般可用个别大扩展需代理 本课核心思想再强调镜像加速解决的是包管理器下载这一环。其他软件的下载是独立问题但思路一样找国内源/代理。第 41 课装 J-Link 时会有具体建议。 本课速记卡——镜像加速三句话要点内容为什么默认源在国外 → 10-100 KB/s → 等不起国内镜像 → MB/s 级 → 即点即装怎么改备份 → 清华地址写进 mirrorlist.mingw mirrorlist.msys 顶部 → pacman -Sy 刷新验证刷新秒级完成 下载显示 MB/s 生效第一行优先双源兜底 镜像原理十问——彻底吃透下载加速这件事#问题答案1镜像是什么官方仓库的国内复制品定时同步2为什么国内访问国外慢跨洋物理距离 国际带宽瓶颈3镜像内容安全吗安全——GPG 签名校验内容与官方一致4镜像会过期吗晚 4-6 小时对开发无影响5为什么第一行优先pacman 从上到下逐个尝试第一个可用即用6改错地址会怎样对应包报 404——curl -I 先测可避免7需要改 mirrorlist.mingw32 吗不用——那是 32 位包你用不到8备份文件有什么用5 秒还原默认源不用重装9代理和镜像哪个好镜像更稳不依赖代理软件代理可临时用10这套思路还能用哪pip/npm/apt/GitHub——所有国外慢的工具️ 切换镜像的后悔药——三种还原方式方式操作适用备份还原cp mirrorlist.mingw.bak mirrorlist.mingw改前备份了推荐换另一个源把中科大放第一行清华暂时不可用重装 MSYS2官网下载重装最后手段配置彻底搞乱 心态建议改配置没那么可怕——最坏情况是重装 MSYS210 分钟。有了备份多个源重装三重保险大胆试错。 环境毕业纪念第 05-08 课全部完成——你的 Windows ARM 开发环境正式毕业。从下一课开始不再装工具开始学真本事CMake 语法详细编辑步骤详细的文件编辑步骤编辑 mirrorlist 文件不需要特殊工具——用记事本或 VSCode 即可。步骤 1编辑 mirrorlist.mingw用任意文本编辑器打开C:\msys64\etc\pacman.d\mirrorlist.mingw## MSYS2 repository mirrorlist ## Primary Server https://repo.msys2.org/mingw/$repo/ ## Tier 1 Server https://mirror.yandex.ru/mirrors/msys2/mingw/$repo/ ... (德国、俄罗斯等国外源)## MSYS2 repository mirrorlist ## Primary — 国内镜像优先级最高 Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/$repo/ Server https://mirrors.ustc.edu.cn/msys2/mingw/$repo/ ## Fallback Server https://repo.msys2.org/mingw/$repo/ ... (其他源保留为备选)步骤 2编辑 mirrorlist.msys同样操作## MSYS2 repository mirrorlist Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch/ Server https://mirrors.ustc.edu.cn/msys2/msys/$arch/ ## Fallback Server https://repo.msys2.org/msys/$arch/注意mirrorlist.clang64 也要改如果你用 ClangLKS32 项目不需要——我们用的是 GCC。但如果你在 MSYS2 中装过其他工具也建议把mirrorlist.clang64和mirrorlist.ucrt64一起改了。文件影响范围mirrorlist.mingwmingw-w64-* 包arm-none-eabi-gcc, cmake, ninja 都在这里mirrorlist.msysMSYS2 基础系统包bash, pacman 自身, gcc 运行时等mirrorlist.ucrt64UCRT64 环境特定包通常不需要单独改——用 mingw 源覆盖本页大纲详细编辑步骤① mirrorlist 文件结构解析 → ② 完整编辑命令 → ③ 修改前后对比 → ④ 交互编辑模拟 → ⑤ 常见编辑错误 两个 mirrorlist 文件——谁管什么MSYS2 的镜像配置分散在C:\msys64\etc\pacman.d\下的两个文件里各自管不同的包文件管什么改哪个mirrorlist.mingwmingw-w64-ucrt-x86_64-* 包GCC/CMake/Ninja✅ 必改mirrorlist.msysmsys 环境的基础工具bash/sed 等✅ 也改mirrorlist.mingw3232 位 mingw 包一般不用可选mirrorlist.clang64Clang 环境包不用不用 关键你安装的 GCC/CMake/Ninja 都属于 *mingw-w64-ucrt-x86_64-由 mirrorlist.mingw 管——这个必须改。mirrorlist.msys 管基础工具建议一起改否则 pacman -Syu 升级基础包时还是慢。✏️ 完整编辑命令——复制粘贴即可# ① 备份原文件好习惯 $ cp /etc/pacman.d/mirrorlist.mingw /etc/pacman.d/mirrorlist.mingw.bak $ cp /etc/pacman.d/mirrorlist.msys /etc/pacman.d/mirrorlist.msys.bak # ② 清华镜像地址写入文件顶部 $ echo Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64 /etc/pacman.d/mirrorlist.mingw $ echo Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch /etc/pacman.d/mirrorlist.msys # ③ 刷新包数据库 $ pacman -Sy :: 正在同步软件包数据库... 完成 ← 秒级完成 镜像生效 注意地址差异两个文件的 URL 结尾不同mingw 文件用 /mingw/ucrt64msys 文件用 /msys/$arch——写错任何一个那个文件对应的包就装不了。 修改前后对比——同一文件两种命运# 默认内容国外镜像列表 # ## MSYS2 mirrorlist Server https://mirror.msys2.org/mingw/ucrt64 Server https://mirror.rackspace.com/msys2/mingw/ucrt64 Server https://mirrors.kernel.org/msys2/mingw/ucrt64 Server https://mirrors.tripadvisor.com/msys2/mingw/ucrt64 ... 10 个国外镜像# 清华放第一行优先使用 Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64 # 中科大放第二行备用 Server https://mirrors.ustc.edu.cn/msys2/mingw/ucrt64 # 原国外镜像保留在下面兜底 Server https://mirror.msys2.org/mingw/ucrt64 ... 优先级机制pacman 从第一行开始逐个尝试——第一行可用就用它。所以把国内镜像放最上面国外镜像留在下面当备胎。这就是第 08 课优先级的精髓。⚠️ 常见编辑错误——五连坑避雷#错误后果解决1地址结尾写错对应包的源失效核对 /mingw/ucrt64 与 /msys/$arch2只改了 mingw 没改 msys基础包升级仍慢两个文件都改3备份后没替换原文件还是旧源确认 重定向覆盖了原文件4https 拼成 http可能被劫持/报错用 https5改了不刷新缓存还是旧列表pacman -Sy 本页小结编辑镜像的完整闭环备份 → 写地址两个文件→ 刷新pacman -Sy→ 验证速度。地址格式是最大坑记住 /mingw/ucrt64 vs /msys/$arch 的差异。 一句话总览编辑镜像 改两个文件 一行刷新。备份是好习惯地址格式是重点优先级机制第一行优先是精髓——掌握这些镜像配置一次成功。 手动编辑教程——不用命令行的替代方案如果你不习惯用 echo/cat 写文件也可以用记事本手动编辑 记事本注意保存时编码保持默认UTF-8 无 BOM 最好——不要另存为 UTF-16否则 pacman 读取会乱码。如果保存后 pacman 报错多半是编码问题。 深入mirrorlist 文件格式解析# 注释行以 # 开头pacman 忽略 # ## MSYS2 mingw64 mirrorlist # 服务器行Server URL$arch 会被替换为架构名 Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64 # 上面这行的含义 # Server 固定前缀 # https://... 镜像地址 # /mingw/ucrt64 指向 UCRT64 包的目录 # pacman 会在该 URL 下找 db 文件和包文件 理解 Server 行pacman 读取镜像列表时会按行从上到下逐个尝试第一个连得上的就用它。所以第一行优先 国内镜像放最上面国外放下面兜底。️ 排错专项——改了镜像还是不快的五种情况#现象原因解决1改了但还是 KB/s改错文件改了 mirrorlist.mingw32确认改的是 .mingw无 322pacman -Sy 报 404URL 路径写错核对 /mingw/ucrt64 结尾3提示密钥无效镜像同步不完整换个镜像源试试4下载 0 字节网络代理干扰检查系统代理设置5速度时快时慢多个源交替使用只保留国内源删掉国外行 heredoc 方式 vs echo 方式——两种写文件方法对比对比echo 逐行cat heredoc语法echo ‘…’ 文件cat 文件 多行需多个 echo一次写多行变量转义$arch 需转义需转义$$ 或引号可读性较差更好推荐单行场景✅ 本课推荐️ 镜像地址的完整写法——五条通用模板# 清华 TUNA Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64 Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/\$arch # 中科大 USTC Server https://mirrors.ustc.edu.cn/msys2/mingw/ucrt64 Server https://mirrors.ustc.edu.cn/msys2/msys/\$arch # 阿里云 Server https://mirrors.aliyun.com/msys2/mingw/ucrt64 Server https://mirrors.aliyun.com/msys2/msys/\$arch # 腾讯云 Server https://mirrors.cloud.tencent.com/msys2/mingw/ucrt64 Server https://mirrors.cloud.tencent.com/msys2/msys/\$arch # 南京大学 Server https://mirror.nju.edu.cn/msys2/mingw/ucrt64 Server https://mirror.nju.edu.cn/msys2/msys/\$arch 规律所有镜像的 URL 结构都是 https://镜像域名/msys2/mingw/ucrt64——只需换域名路径固定。记住这个规律任何镜像 3 秒配好。 镜像配置的心智模型——一次理解终身受用 验证地址是否可用的技巧——配置前先测# 测试清华镜像的 mingw 路径是否可访问 $ curl -I https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64/ HTTP/2 200 ← 200 可访问 date: ... server: nginx # 测试 msys 路径 $ curl -I https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/x86_64/ HTTP/2 200 ← 200 可访问 为什么先测避免写进配置文件才发现地址错。curl -I 5 秒验证 URL返回 200 再写入 mirrorlist——一次成功不来回折腾。 mirrorlist 配置对比——国内源 vs 官方源的取舍维度国内镜像官方源速度国内10-50 MB/s10-100 KB/s同步延迟4-6 小时即时稳定性高长期维护高安全性签名校验保证内容一致官方签名适合国内日常开发追求最新或海外 安全性说明MSYS2 的所有包都有GPG 签名校验——无论从哪个镜像下载校验不过都会拒绝安装。所以用国内镜像不降低安全性放心用。 pacman.conf 里的相关配置——镜像之外还有两个提速点# 开启彩色输出看得更清楚 Color # 并行下载同时下载多个包提速明显 ParallelDownloads 5 ← 默认 1改成 5 提速 # 保持已下载的包缓存复用重装不用重下 #CacheDir # 默认缓存/var/cache/pacman/pkg/ ParallelDownloads 是隐藏提速点镜像解决了单包下载慢并行下载解决多包下载排队——两个都配上装工具链体验直接起飞。改完 pacman -Sy 生效。 镜像配置检查清单——配完逐项打勾#检查项标准1备份文件存在mirrorlist.mingw.bak .msys.bak2mingw 文件第一行Server https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt643msys 文件第一行Server https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch4数据库刷新pacman -Sy 秒级完成5实测下载速度装包显示 MB/s 级6ParallelDownloadspacman.conf 里 5