下载镜像的三个常见问题

下载Ubuntu或Debian安装镜像表面简单,但在机房、CI或批量装机场景中,问题往往集中在三处:镜像距离远或拥堵导致速度骤降;镜像尚未同步完成,拿到旧版本或残缺文件;下载后未校验就直接写入U盘或模板机,直到安装报错才排查。核心原则是:校验文件与签名以发行版官方为准,ISO本体从最近且同步最新的官方镜像或官方种子获取,写盘前必须验证SHA256与GPG签名。文中版本号和数据均为2026年10月下旬核对结果,使用前请以官方页面为准。

官方镜像入口与国内镜像资源

主流发行版均维护自有镜像目录,镜像站由大学、科研网络、运营商和企业志愿提供,发行版负责登记、探测与公布状态。截至核对时,Ubuntu当前LTS为26.04.1,最新常规版为26.10;Debian稳定版为13(trixie),最新小版本13.7;Arch月度安装镜像为2026.10.01。

  • Ubuntu:Launchpad的Official CD Mirrors列表(launchpad.net/ubuntu/+cdmirrors)按国家和带宽列出,目前登记400余个;每个镜像的Launchpad页面显示最近探测日期与已镜像版本;releases.ubuntu.com各版本目录提供.torrent文件及SHA256SUMS、SHA256SUMS.gpg。
  • Debian:官网CD镜像列表(debian.org/CD/http-ftp/);mirror-master.debian.org/status/汇总各镜像最后更新时间、延迟和评分;debian.org/CD/torrent-cd/提供种子;校验文件为SHA256SUMS、SHA512SUMS及对应.sign。
  • Fedora:download.fedoraproject.org经MirrorManager自动重定向;mirrormanager.fedoraproject.org提供镜像列表与Propagation页面;torrent.fedoraproject.org提供种子;带签名的*-CHECKSUM文件用于校验。
  • Arch Linux:archlinux.org/download/按国家列出HTTP(S)镜像;archlinux.org/mirrors/status/显示完成度、平均延迟和评分;下载页提供磁力链接和种子,官方推荐sha256sums.txt、b2sums.txt、.iso.sig。

国内用户常用高校镜像站。Arch官方镜像列表“China”一栏可见清华大学TUNA、中国科学技术大学、上海交通大学SJTUG、北京外国语大学、南京大学、华中科技大学、西安交通大学等;清华、中科大、北外、南大提供ubuntu-releases目录,清华和中科大还有debian-cd。海外常见机构镜像包括澳大利亚AARNet、加拿大滑铁卢大学CSClub、丹麦dotsrc.org、MIT等。

各镜像站有各自服务范围和使用规则。例如清华TUNA状态页写明“根据相关法律法规,本站不对欧盟用户提供服务”,在欧洲服务器上配置清华源失败的原因就不在网络质量。选镜像前查看对方说明页,比事后排查更省事。

自动重定向与手动指定

Fedora的MirrorManager会根据请求方网络自动分配镜像。实测请求mirrors.fedoraproject.org/mirrorlist,返回内容第一行即写明依据的ASN和国家(如“Using ASN 4134 country = CN”),随后列出清华、中科大等国内镜像。个人下载交给重定向即可;服务器集群、CI和离线制品库建议固定一个经过测试的镜像并配一个备用,便于复现和排障。

挑选最快镜像:先看新鲜度,再测速度

确认镜像已同步到最新

速度再快,文件旧了也无用。多数镜像公开同步时间戳:Arch镜像根目录的lastsync是Unix时间戳;Debian镜像的project/trace/master记录主站最后一次推送时间和归档序列号;清华TUNA的tunasync.json以JSON列出每个仓库状态(success、syncing、failed)和最后更新时间。

# Arch:把镜像的 lastsync 转成可读时间
date -u -d @"$(curl -s https://mirrors.tuna.tsinghua.edu.cn/archlinux/lastsync)"
# Debian:查看主站最后一次推送记录
curl -s https://deb.debian.org/debian/project/trace/master | head -5
# 清华 TUNA:筛出同步失败的仓库
curl -s https://mirrors.tuna.tsinghua.edu.cn/static/tunasync.json \
 | jq -r '.[] | select(.status=="failed") | .name'

发布日当天尤其要检查这一步。新版本放出后的几个小时内,可能有镜像只同步了部分文件,或SHA256SUMS已更新而ISO仍是旧的,此时下载的文件会校验失败。

用区间请求测真实吞吐

ping只能说明网络延迟,无法反映下载速度。更可靠的方法是对同一ISO发起HTTP区间请求,只拉前50MB,用curl记录平均速度和首字节时间,既接近真实下载,又不给镜像站增加整盘流量。

ISO=ubuntu-releases/26.04.1/ubuntu-26.04.1-live-server-amd64.iso
for m in https://mirrors.tuna.tsinghua.edu.cn \
 https://mirrors.ustc.edu.cn \
 https://mirrors.bfsu.edu.cn; do
 curl -s -r 0-52428799 -o /dev/null \
 -w "%{speed_download} B/s TTFB=%{time_starttransfer}s $m\n" "$m/$ISO"
done

测一次不够,建议在工作时段和晚高峰各测三次取中位数,因为同一镜像平时和新版本发布当天负载可能差别很大。结果只代表当前网络出口;办公室测出最快的镜像,换到云上构建机未必仍最快。

借助工具自动筛选与加速

  • Arch的reflector可按国家、协议和同步时间筛选镜像并按实测速度排序,例如reflector --country China --protocol https --age 12 --sort rate --save /etc/pacman.d/mirrorlist。它排的是软件包镜像,ISO位于同一批镜像的/iso/目录下,结果可直接参考。
  • 官方种子:Ubuntu、Debian、Fedora、Arch均提供官方种子,Arch下载页将BitTorrent列为推荐方式,并建议使用支持WebSeed的客户端,做种人少时也能从HTTP镜像补速。种子只从发行版下载页获取,下载后同样要校验。
  • 多源下载:aria2c会把命令行中给出的多个链接视为同一文件的不同来源并行下载,可配合--checksum=sha-256=<哈希值>在下载结束时自动校验。
  • 增量更新:Ubuntu为每个ISO提供.zsync文件,手中有上一版ISO时,可用zsync只下载变化部分。

两层校验:SHA256与GPG签名

两层校验解决两个问题:SHA256校验和只能证明文件在传输中未损坏;GPG签名证明校验和确实出自发行版,未被镜像站或中间人替换。HTTPS只保护你与镜像之间的连接,保护不了镜像本身被篡改。因此只要签名验证通过,校验文件和ISO从哪个镜像下载都可以。Ubuntu官方校验教程也说明:许多镜像不使用SSL,但签名匹配即可确认文件真实。

各发行版校验命令

Ubuntu:

# 与 ISO 同目录下载 SHA256SUMS 和 SHA256SUMS.gpg
gpg --keyid-format long --keyserver hkp://keyserver.ubuntu.com \
 --recv-keys 0x46181433FBB75451 0xD94AA3F0EFE21092
gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS

Debian在iso-cd、iso-hybrid等目录同时提供SHA256和SHA512校验文件及签名。官方校验页面列出近年签名密钥指纹,其中2011年创建的CD签名密钥指纹为DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B。

gpg --keyserver keyring.debian.org \
 --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B
gpg --verify SHA512SUMS.sign SHA512SUMS
sha512sum -c --ignore-missing SHA512SUMS

Fedora:

curl -O https://fedoraproject.org/fedora.gpg
gpg --with-fingerprint --show-keys --keyid-format long fedora.gpg
for file in *-CHECKSUM; do
 gpgv --keyring ./fedora.gpg --output - "$file" | sha256sum -c --ignore-missing
done

Arch Linux的ISO由发布工程师单独签名,下载页公布签名密钥指纹3E80 CA1A 8B89 F69C BA57 D98A 76A5 EF90 5444 9A5C,并给出通过WKD获取密钥的命令。

b2sum -c --ignore-missing b2sums.txt
gpg --auto-key-locate clear,wkd -v --locate-external-key [email protected]
gpg --verify archlinux-2026.10.01-x86_64.iso.sig archlinux-2026.10.01-x86_64.iso

校验结果解读

  • Good signature附带“This key is not certified with a trusted signature”警告属正常,仅表示你本人未给该密钥签名,此时需将输出指纹与官方页面逐位比对。
  • Can't check signature: No public key:尚未导入公钥,按上述命令导入后重试。
  • BAD signature:校验文件被改过,或签名与文件不配套。应删除并从官方站点重新下载,不要换镜像继续使用。
  • sha256sum输出FAILED:ISO损坏或版本不对。先确认镜像已同步完成,再重新下载。

跨地区镜像监测与代理使用

个人下载一次ISO无需代理。代理有价值的场景是团队在多个国家拥有机房、CI节点或用户:需要知道“新加坡构建机用哪个镜像最快”“巴西用户访问推荐镜像是否超时”。Fedora镜像分配依赖请求方ASN和国家,部分镜像站有地区服务限制,本地测出的结论不能直接搬到其他地区。

常见做法是定时从多个地区出口发出一组小请求,将结果写入时序数据库并设置告警。IPxSS住宅代理覆盖195+个国家和地区,可按国家、州/省、城市和ASN筛选出口,适合回答“某地普通家庭宽带用户访问该镜像的体验”;需要高频、大批量探测时,轮换数据中心代理覆盖190+个国家,成本更低,更适合常规巡检。相关服务可参考 https://www.ipxss.com/ 。

多地区镜像探测项建议如下:

  • HTTP状态码与TLS握手:判断该地区能否访问、证书是否正常;使用HEAD请求,几乎不产生流量。
  • lastsync、trace文件或Last-Modified:判断镜像是否落后于主站、落后多久;请求量几百字节。
  • 首字节时间(TTFB):判断路由与服务器响应是否正常;请求量几KB。
  • 区间吞吐:估算大致下载速度;10–50MB,低频执行。
# 在环境变量里放好各地区出口的代理地址,例如 PROXY_US、PROXY_DE、PROXY_BR
for cc in US DE BR; do
 p="PROXY_$cc"
 printf "%s " "$cc"
 curl -s -x "${!p}" -o /dev/null -m 15 \
 -w "%{http_code} TTFB=%{time_starttransfer}s\n" \
 https://geo.mirror.pkgbuild.com/lastsync
done

落地时的边界

  • 代理本身多了一跳,测得的绝对值包含代理链路开销。比较同一出口下不同镜像的相对排名才有意义;要给出具体速度数字,应用该地区真实主机复核。
  • 住宅代理一般按流量计费,不要通过代理下载整张ISO。用代理选出镜像后,直接从目标机器下载。
  • 尊重镜像站规则:控制探测频率,不并发打满带宽;对方明确不服务某地区时,换一个服务该地区的镜像,不要用代理绕过限制。
  • 下载脚本的超时、断点续传和重试策略,可参考curl下载文件失败排查指南。

可直接照做的操作清单

  1. 从发行版官网进入下载页,记下当前版本号和官方公布的签名密钥指纹。
  2. 在官方镜像列表中挑选3–5个地理位置近、带宽大的镜像,优先高校和科研网络镜像。
  3. 检查lastsync、trace文件或状态页,排除同步落后的镜像。
  4. 用50MB区间请求在不同时段测速,取中位数排序,固定一主一备。
  5. 优先使用官方种子或支持多源的下载工具;下载ISO、校验文件和签名文件。
  6. 先验GPG签名,再验SHA256或SHA512,两步都通过才写入U盘或制品库。
  7. 有多地区需求时,按探测项定时巡检,并设置“同步落后超过N小时”的告警。

“最好的Linux镜像”没有统一答案,取决于访问位置、访问时间和镜像是否同步完成。对大多数人而言,选官方镜像并完成两层校验即可;若团队分布在多个地区,应将镜像选择变成可测量、可告警的例行检查,而非依赖某次测速的印象。