说起这件事挺有意思,很多人来找我,就一句话:“帮我找一个 Ubuntu 服务器下载地址,下载速度快的。” 一开始我也总先丢一个大而全的用户链接过去,后来发现自己替别人走了弯路。所谓“下载速度快”,真不是一个固定地址能解决的,它和你所在网络环境、和目标站点之间的延迟、本地运营商路由质量、甚至你用单线程还是多线程下载都有关系。这篇文章就把我从“找地址”到“把下载过程彻底玩顺”的思路完整写出来,包括选什么版本、怎么校验、怎么续传、装完之后 apt 又是另一套加速逻辑。如果你是刚碰服务器的新人,或者正在给公司内网批量准备 Ubuntu 基础镜像,这套东西可以直接抄。
1. 为什么一个官方地址解决不了“下载快”的问题
1.1 官方下载地址和提速空间
Ubuntu 官方镜像入口其实很稳定,服务器版 ISO 版本主要放在 https://releases.ubuntu.com/ 下面。比如 24.04 LTS 就在24.04/目录里,里面有ubuntu-24.04.2-live-server-amd64.iso这类文件。官方站点的优势是文件绝对完整、命名规范、更新及时,唯一的问题未必是速度,而是你本地网络到这个海外机房的整条链路有瓶颈。尤其跨区域下载时,晚高峰丢包率一上来,原本 10MB/s 的带宽可能只剩几百 KB,甚至一把卡住。
所以我的结论是:地址本身从来不是秘密,真正值钱的经验是如何在当前网络下拿到最大的真实速度。官方入口没法帮你重排运营商路由,也没法改变物理距离,能改变这些的是另一类 URL——同步官方镜像的第三方镜像站。
1.2 先测速再选链接,用人话理解延迟和带宽
下载文件时大家通常只关心带宽,但实际影响体感的是“延迟 + 丢包 + 带宽”三个因素。带宽是水管粗细,延迟是水管长度,丢包是水管上有没有破洞或塞子。跨区域下载常见的情况是水管很粗,但延迟很高,再加上中途路由繁忙,TCP 滑动窗口一直在压缩,速度反而跑不起来。
判断一个下载源快不快,别急着拖整个 ISO,先在命令行里做两个小测试。
先用 ping 测一下到解析出来的 IP 的延迟:
ping -c 10 releases.ubuntu.com再用 curl 测下载小文件时的实际吞吐:
curl -L -o /dev/null -s -w "speed_download: %{speed_download} bytes/sec\n" \ "https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso"这行命令会下载到一半就把数据丢弃,测试几百兆流量后输出平均速度。如果速度和预期差很多,那就别死磕官方源,直接切镜像源测试。所谓镜像源,就是把官方文件一字节不差复制到不同区域节点上的服务器。路径结构通常和官方保持一样,比如把releases.ubuntu.com换成某个镜像源域名,后面的目录结构仍然能直接访问。不同镜像源在不同网络下速度差异极大,没有任何一个能保证“人人都快”,所以先测速绝对比闭眼下载更靠谱。
2. 选下载路径:发行版、版本号、CPU 架构怎么定
2.1 服务器版到底选 LTS 还是滚动版
Ubuntu 服务器版面向生产环境时,主流选择一定是 LTS(长期支持版)。每个 LTS 版本官方维护五年,Ubuntu Pro 还能再拉长十年。普通用户不需要追新,用 20.04、22.04、24.04 都可以,但新部署建议直接用 24.04 LTS,软件源支持周期到 2029 年,之后还可以平滑升级到下个 LTS。那种带.1、.2后缀的点版本,本质是 LTS 发布后集合了安全补丁的小版本,比如24.04.2比24.04修复更多已知问题。下载地址里的目录一般只显示大版本号,但里面放的镜像文件名字会带点版本号。直接选择带有最新小版本的 live-server ISO 就好,因为安装完还需要再跑apt update补全后续补丁,基础 ISO 新一点,装完系统后要打的补丁就少一点。
2.2 架构和文件名背后的信息
下载服务器 ISO 时,文件名里最容易被忽略但绝对不能看错的字段是amd64。现在绝大多数 x86 服务器是 Intel 或 AMD 的 64 位 CPU,选amd64没问题。如果你的机器是 ARM 架构的鲲鹏或者树莓派一类设备,那必须选arm64。还有极少见的ppc64el、s390x,属于特定大机环境,普通用户基本遇不到。安装时搞错架构虽然也能装上,但后面软件源匹配会非常难受,在/etc/apt/sources.list.d/ubuntu.sources里配的都是对应架构的索引,折腾一圈不如一开始下载时就看清楚。
另外,Ubuntu 官方目前对桌面版和服务器版的区分也发生了点变化。过去服务器版是不带图形界面的 live-server ISO,现在新版本依然延续这个思路:live-server这个镜像虽然没有默认图形界面,但安装过程本身可以走文本菜单,也可以走串口或云初始化方式。对于只需要最小化环境的服务器,这个镜像是最稳的。
2.3 官方地址和镜像地址的替换关系
直接给一个满配地址确实方便,但我更建议你理解它的拼装逻辑。拿 24.04 举例:
官方: https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso把releases.ubuntu.com替换成某个镜像站域名之后,后面的路径保持结构不变:
某个局域网镜像: http://mirrors.example.com/ubuntu-releases/24.04/ubuntu-24.04.2-live-server-amd64.iso为什么要懂这个规则?因为镜像站数量很多,不同的网络拓扑下每个源速度不一样。只会用别人给的一个地址,遇到某个源卡住就只能干等;知道替换逻辑,就能随时换下一个源测试,解决“一个地址打天下”的尴尬。
实际选择时还可以用发行方提供的镜像列表页面,也可以直接抓取一个 JSON 列表来看有哪些同步节点。但部署服务器时,我不建议频繁换源,选一个测速结果稳定、能走 HTTPS、更新频率又高的镜像源,长期作为固定下载和软件源通道。
3. 实操下载:命令行、断点续传和完整性校验
3.1 用 aria2 代替单线程 wget 的实测体会
浏览器下载大文件体验比较差,主要是断点续传不靠谱,而且一般只开着单线程,完全没把带宽好资源利用起来。我在服务器上下 ISO 时基本都用aria2这类多线程工具。装起来很简单:
sudo apt update sudo apt install -y aria2然后用 16 个连接并发拉取:
aria2c -x 16 -s 16 -k 1M \ "https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso"参数含义说清楚:
-x 16表示每个服务器最多开 16 个连接-s 16表示把文件拆成 16 段下载-k 1M表示每段最小分片大小是 1MB
实测在同等带宽情况下,多线程下载往往会比单线程明显快。特别是官方源和本地网络之间没有应用层限速时,多线程能把“单连接发送窗口被延迟拖垮”的问题分摊掉一部分。需要注意的是,如果一些镜像站限制了并发连接数,-x 16反而可能触发封禁,那就用-x 4或-x 8再试。
aria2还有个好处是支持断点续传,下载中断了再执行一次同样的命令,它会自动检测已经下载的部分,接着下载剩余部分。如果你更喜欢传统工具,wget -c也能续传,但单线程的特性注定速度上限不如 aria2。
3.2 SHA256 校验,ISO 是不是原版全靠这一关
下载完成后,第一步不是急着写入 U 盘,而是先做校验。Ubuntu 官方在每个版本目录下都会放一个SHA256SUMS文件,里面列出了所有镜像文件的哈希值。校验步骤:
cd ~/下载 sha256sum ubuntu-24.04.2-live-server-amd64.iso把输出的哈希值和SHA256SUMS里对应的一行比对。如果一致,说明文件下载完整、没有被篡改;如果不一致,基本就是下载过程出错或者文件被截断,直接删除重下,不要强行拿去安装。校验这一步很容易跳过,但跳过之后安装时报“无法读取 CD-ROM”“镜像文件损坏”这类问题,反而最浪费时间。
也可以直接把官方校验值和本地文件一次性对比:
grep "ubuntu-24.04.2-live-server-amd64.iso" SHA256SUMS手动看行不通就更保险。还可以用下面方法:
sha256sum --check SHA256SUMS 2>/dev/null | grep OKubuntu-24.04.2-live-server-amd64.iso: OK3.3 制作启动盘和无人值守参数
下载校验通过后,下一个常见动作是写入 U 盘或直接挂载到 IPMI 的虚拟光驱里。Linux 命令行制作启动盘很简单:
sudo dd if=ubuntu-24.04.2-live-server-amd64.iso of=/dev/sdX bs=4M status=progress这里的/dev/sdX是 U 盘设备名,不是分区名。写上分区名比如/dev/sdb1是错误操作,会导致引导不完整。操作前确认 U 盘已卸载:
sudo umount /dev/sdX* || trueWindows 下更推荐用写盘工具把 ISO 写入 U 盘,可以直接读取 dd 镜像整体写入,省掉一堆手工配置。服务器安装在 BIOS/UEFI 引导方式也需要注意,绝大多数新服务器是 UEFI 模式,写好的 U 盘直接选 UEFI 启动项即可。如果服务器有 IPMI 远程管理口,还可以把 ISO 作为远程虚拟光驱挂载,就不用插拔物理 U 盘。
4. 装完系统之后,apt 下载还是慢,怎么办
4.1 修改 sources.list 切换到更快的软件源
大家把 ISO 下载的问题解决了之后,往往忘了接下来的apt update和apt install又是另一条下载链路。ISO 下载走的是releases.ubuntu.com或镜像站的ubuntu-releases路径;装完系统后,软件包下载走的是archive.ubuntu.com或/etc/apt/里配置的软件源路径。这两个是不同服务,就算 ISO 下载飞快,如果软件源头设置不理想,装系统后还是会很慢。
在较新的 Ubuntu 24.04 里,软件源配置一般在/etc/apt/sources.list.d/ubuntu.sources。查看并调整,原则是把URIs:那一行替换成你测过速的镜像源地址。改完之后一定要执行更新:
sudo apt update如果镜像源支持 HTTPS,就保留 HTTPS 协议。部分老的内网镜像只提供 HTTP,但公网环境下尽量选 HTTPS,放置下载过程中被劫持的风险。
4.2 apt 并发下载和缓存代理的思路
apt 本身默认配置在下载软件包时也会开启多个连接,但还可以进一步调大。在/etc/apt/apt.conf.d/下新建或修改配置文件:
echo 'Acquire::http::Pipeline-Depth "5";' | sudo tee /etc/apt/apt.conf.d/99custom-pipeline echo 'Acquire::https::Pipeline-Depth "5";' | sudo tee -a /etc/apt/apt.conf.d/99custom-pipeline不过这个优化空间有限,更明显的加速方案是在局域网内部署一个 apt 缓存代理服务,把所有人都安装过的.deb包缓存下来。比如apt-cacher-ng就是一种典型实现:
sudo apt install apt-cacher-ng其他机器在软件源配置里把地址指到这个代理上,第一次从远程拉取后,局域网内其他人再安装同一个包就直接走内网缓存,速度能快上非常多。运维同学管理几十台同版本服务器时,这个方案比单纯换公网镜像更见效。
4.3 日常维护中容易踩的更新坑
更新软件源时偶尔会碰到公网镜像同步延迟导致的索引不完整,或者某几个包404。这时候不建议立刻换源,先等半小时再apt update,往往镜像同步完成后就恢复。如果你用了某个镜像源长期遇到 404,说明该源同步有问题,再切换到其他源。另外,不要在生产环境上执行apt upgrade --autoremove这种全自动组合拳,很容易把内核或关键依赖一起处理掉。更稳妥的做法是先apt list --upgradable看清单,再针对性地升级。
还有安全更新源security.ubuntu.com的问题。很多镜像源也提供安全更新目录,但更新节奏可能和官方不完全一致。如果系统有合规要求,最好把安全源也指向信誉好的镜像,并且定时查看发布通知。
5. 常见问题与排查实录
5.1 下载到一半连接断开
下载中断最常见。无论是浏览器还是 wget,都有一定概率在跨网络长传输中遇到连接重置。解决办法是改用aria2c,它天然支持断点续传。不仅是中断,校验失败时也可以先看文件大小和SHA256SUMS里的大小是否一致,如果不一致,十有八九是传输截断。
有一个细节值得警惕:有些下载工具在断点续传时会带上Range请求,但服务器如果返回了不正确的Content-Length,下载完的文件大小虽然对,哈希却不对。处理方式是删掉重新完整下载,不要心存侥幸。
5.2 校验值对不上
这一般是下载过程出错、文件被修改或下载了错误版本。先重复执行一次sha256sum,再看目录里的SHA256SUMS是否用了正确的发布版目录。我曾经见过同事下载 22.04 的镜像,却拿 24.04 的校验清单去比对,哈希肯定对不上。对着版本号目录仔细比一比就差不了。
如果确认版本没错,考虑把下载工具从浏览器换成 aria2 加重试参数,也可能是之前走的代理或加速器改了内容。代理缓存污染也可能导致固定地址拿到错内容,这时候换镜像源重新下载往往药到病除。
5.3 启动盘无法引导
写入 U 盘后无法引导,多数原因是制作工具选错模式,或者在老服务器上没关掉 Secure Boot。可以先检查 BIOS/UEFI 启动顺序,再临时关闭 Secure Boot 看看能否进入安装菜单。还有一种情况是写盘时把 U 盘分区表模式写成了 GPT,而服务器要以传统 BIOS 引导;重新用 dd 全盘写入就能解决。dd 写入的 ISO 会把整块盘做成 Hybrid ISO,基本兼容 UEFI 和传统 BIOS,关键是不能只写某个分区。
5.4 软件源 404 或 GPG 报错
装了新系统后执行apt update报 404,通常是因为软件源指向的镜像目录同步不完整,或者镜像源停掉了老版本的 Ubuntu 目录,比如 EOL(生命周期结束)版本不再同步。解决方案是切到仍在维护该版本的镜像源,或者改用官方 old-releases 地址。新版本 Ubuntu 一般不会再出现这个问题,因为镜像源支持周期较长。
GPG 报错看起来麻烦,实际多数情况是 HTTPS 证书链有问题或软件源配置里混入了无效 key。先重新导入 Ubuntu 官方 key:
sudo apt-key adv --refresh-keys --keyserver keyserver.ubuntu.com新版 Ubuntu 中更推荐安装ubuntu-keyring这个包,再用sudo apt update看报错是否消失。如果配置的是第三方源,需要确认它有没有提供独立的发布签名密钥。
6. 让“快”变成一套可持续的方法
我最早也是满世界找现成的下载链接,时间久了才意识到,下载地址只是入口,真正值钱的是“快”的沉淀。把官方源、镜像源、多线程工具、校验、软件源配置这一整条链理顺之后,后续无论是给新服务器装系统、给内网做缓存,还是批量部署相同版本的服务,都能直接复用同一套流程。
根据个人经验,最好在第一次接触一台新服务器时把两个地址记下来:一个是 ISO 下载源,一个是 apt 软件源。把这两个写成一份简单文档,配合 aria2 的断点续传命令和 sha256 校验命令,以后任何一台新机器都能在几分钟内搞定下载和安装,不会每次都从头踩一遍慢速和损坏的坑。最后再分享一个小技巧,如果你手边没有图形界面,又想快速知道一个源快不快,可以执行这类命令:
curl -sI "https://releases.ubuntu.com/24.04/ubuntu-24.04.2-live-server-amd64.iso" | head -n 5看到返回的Content-Length正常,说明源可用;后面的整包下载速度快慢,再用 aria2 多线程去拉一次就知道了。这比打开浏览器看状态条直观得多,也不占图形资源,非常适合服务器环境。