首页 / 资讯中心 / 文章详情

Ubuntu 22.04镜像加速下载全攻略:从原理到实操避开所有坑

Ubuntu 22.04镜像加速下载全攻略:从原理到实操避开所有坑 ★ FEATURED ARTICLE
1. 为什么要用国内镜像瓶颈到底出在哪儿做运维和开发的朋友应该都有过类似的经历刚拿到一台新机器想装个 Ubuntu 22.04 LTS兴冲冲跑到官网下载页面然后就是漫长的等待。进度条偶尔动一下大部分时间都在转圈最后可能等来一个“下载失败”的提示。这不是你的网速不行也不是电脑不给力而是因为默认下载路径本质上就是一条国际链路数据要跨越大半个地球才能到你的硬盘里。官方站点把安装镜像托管在海外服务器上国内客户端访问时请求要先经过国际出口带宽再绕行到目标服务器。这条路径上的瓶颈很多跨境链路的带宽本身就拥挤尤其在晚高峰时段几十万人同时抢一条通道速度自然惨不忍睹。再加上跨地域传输的物理延迟TCP 连接反复握手、丢包重传整个下载过程就像堵在早高峰环路上的车急也没用。国内镜像加速的思路很简单把海外的文件内容复制一份放在国内的高带宽服务器上。这样你的下载请求就不用出国了直接访问本地机房速度是两个量级。对于 Ubuntu 这种动辄几个 GB 的系统镜像用镜像站能把下载时间从“喝杯咖啡都不一定下完”缩短到“一首歌还没听完就搞定”。这篇文章就围绕这个场景展开讲清楚镜像加速背后的原理、如何挑选合适的镜像站、完整的下载和校验流程以及我实际使用中踩过的坑。不管你是刚入门的新手还是已经部署过多台服务器的老手这篇文章都能帮你把“下载 Ubuntu 22.04 LTS 镜像”这件事做得又快又稳。现在网络上关键词搜索“Ubuntu 22.04”的人大部分都在找两样东西一是安装镜像本身二是安装完成后的软件源配置。这两个问题其实是同一条逻辑线都在解决“国内网络环境下如何让 Ubuntu 相关的下载变得更快”。所以这篇攻略会把“镜像下载”和“安装后的源替换”合并讲一步到位。2. 镜像加速原理与选型准备2.1 镜像加速到底是怎么一回事先说原理。镜像加速的核心概念是“缓存与分发”。官方原版的 ISO 文件发布后国内的镜像站会按照一定的时间周期自动从上游同步数据。同步完成后你在国内下载到的文件和官方发布的文件内容完全一致只是存放位置不同。这就好比你在国外订购一本书与其等海运几个月不如让人家先把书批量运到国内的书店你直接去店里拿体验天差地别。这里有一个关键概念叫“同步延迟”。镜像站不是实时同步的通常有固定的同步周期常见的有每 2 小时、每 6 小时或者每天同步一次。对于 Ubuntu 系统镜像这种更新频率不高的文件来说延迟一两天完全无所谓。但对于那些需要及时更新的软件仓库来说同步延迟就很重要了。不过本文只讨论系统镜像所以这个话题点到为止。还有一个容易误解的点镜像站提供的不只是 ISO 文件还有软件仓库、容器镜像、编程语言包管理器索引等一大堆东西。当你在配置 apt 源时用的也是同一套镜像服务。所以找到一个可靠的镜像站既能解决安装镜像的下载问题也能解决系统装好之后的软件安装速度问题一举两得。2.2 如何挑选一个可靠的镜像站在国内可供选择的开源镜像站数量不少主要分为两大类高校开源镜像站和云厂商开发者镜像站。这两种各有优劣我分别说一下。高校镜像站通常由高校的网络信息中心或开源社区维护带宽相当充裕很多都接入了几万兆的教育网骨干网。对于教育网用户来说访问这类镜像站的速度往往是最快的因为你在教育网内部流量不用出网。但校外普通宽带用户访问高校镜像站速度就要看运营商之间的互联互通情况了有时候反而不如云厂商的镜像站快。云厂商的镜像站部署在商业 IDC 机房带宽按量付费服务质量通常更有保障。对于大多数使用家庭宽带或企业专线的用户来说云厂商镜像站的访问速度普遍更稳定。而且云厂商镜像站在 IPv4 和 IPv6 双栈方面做得比较到位兼容性更好。我在实际操作中会同时收藏两三个镜像站的地址以防某一个临时维护或负载过高。挑镜像站时看几个硬指标一是同步频率一般每 6 小时同步一次就算很勤快了二是带宽大小这直接决定你能跑多快三是是否有独立的域名和稳定的运营历史避免那种三天两头关停的小站。把选择标准列成一个简单的对照参考价值更直观对比维度高校开源镜像站云厂商镜像站教育网速度极快一般家庭宽带速度取决于互通情况通常较快维护时间寒暑假可能存在不确定商业保障稳定性依靠师生志愿维护商业化服务同步频率多数为 6 小时到 12 小时多数为 2 小时到 6 小时综合来看如果你在校或能用教育网首选高校镜像站如果你在家里或公司首选云厂商镜像站。这个选择不是一成不变的可以在实际下载中测试对比哪个快用哪个。2.3 下载工具准备下载镜像不一定要用浏览器。浏览器下载大文件有天然的劣势不支持断点续传的自动恢复、进度条容易卡死、遇到网络波动只能从头再来。所以我强烈建议用命令行工具来下载。我用得最多的是aria2这是一个支持多线程、断点续传、多协议的命令行下载工具。对于几个 GB 的大文件aria2 能把单个文件分成多个连接同时拉取速度比单线程的浏览器快很多。安装方式很简单在 Ubuntu 或 Debian 系系统上执行sudo apt install aria2如果你手头还没有任何 Linux 系统只有 Windows 电脑也可以用wget的 Windows 版本或者直接用带断点续传功能的下载软件比如很多通用下载管理器。Mac 用户则可以直接用系统自带的curl命令配合-C -参数断点续传。另外一个容易被忽略的工具是校验工具。Ubuntu 官方在发布镜像的同时会提供对应的校验值文件常见的是 SHA256 格式。Windows 上可以用命令certutil -hashfile 文件路径 SHA256来生成哈希值Linux 和 Mac 上直接使用系统自带的sha256sum命令。这个校验步骤我会在后面的实操中详细讲解这里先记住一个原则不校验不安心。3. 完整下载实操流程3.1 定位正确的版本与文件进入你选定的镜像站之后找到 Ubuntu 相关目录。绝大多数镜像站的目录结构都是模仿官方源站布局的路径通常是ubuntu-releases/。进入这个目录你会看到一系列以版本号命名的子目录比如22.04/、22.04.3/、23.10/等。这里就有第一个容易踩坑的地方版本目录的命名规则。Ubuntu 的长期支持版本LTS有一个特点是它会在生命周期内不断推出“point release”也就是维护更新版本。比如 22.04 LTS你会在镜像站看到22.04目录也可能看到22.04.1、22.04.2、22.04.3这样的子目录。它们之间的区别是后者包含了前者的所有安全性更新和 bug 修复。对于新装系统的用户来说直接下载最新的 point release 版本是更优的选择。比如现在假设能看到22.04.3目录那么就应该进去下载这个目录下的镜像而不是去下载最初的22.04.0版本因为后者还需要联网安装几百个更新才能达到前者的状态费时费力。进入具体的版本目录后你会看到几个不同命名的 ISO 文件。这里再解释一下命名规则比如常见的ubuntu-22.04.3-desktop-amd64.iso拆解开来就是系统版本22.04.3类型为桌面版desktop架构为amd64。如果你需要安装带图形界面的桌面系统拿这个文件如果是要装服务器应该选择live-server-amd64.iso结尾的文件。架构方面近几年绝大多数 PC 都是 64 位选amd64就对了。除非你手头有很老的 32 位硬件否则不需要管i386的相关文件。3.2 用命令行快速下载找到文件链接后把链接复制下来。在镜像站的页面上一般会显示文件直链。假设复制到的链接是这样https://mirror.example.com/ubuntu-releases/22.04.3/ubuntu-22.04.3-desktop-amd64.iso在 Linux 终端中用 aria2 下载aria2c -x 16 -s 16 -k 1M https://mirror.example.com/ubuntu-releases/22.04.3/ubuntu-22.04.3-desktop-amd64.iso参数的含义我来解释一下-x 16表示对同一个主机最多建立 16 个连接。-s 16表示将文件分割成 16 个分段进行并发下载。-k 1M表示每个分段的大小至少为 1M。这三个参数配合使用充分利用了带宽。正常情况下你家的宽带能跑满网速上限比如 200M 的宽带下载速度能达到每秒几十兆字节。整个文件 4GB 左右不到几分钟就搞定。如果在 Windows 上使用命令行下载也可以用 wget 的版本来实现wget -c https://mirror.example.com/ubuntu-releases/22.04.3/ubuntu-22.04.3-desktop-amd64.iso注意这里的-c参数代表断点续传。如果你的下载中途断开了重新执行同样的命令它会在上次的进度基础上继续而不是从头再来。3.3 校验文件完整性下载完成后千万不能直接就去刻盘安装。网络传输过程中可能出现数据损坏尤其是大文件哪怕一个比特位翻转都可能导致安装过程崩溃。正确的做法是校验文件哈希。在镜像站同目录下一般会有一个SHA256SUMS文件里面记录了所有镜像文件的哈希值。先用命令行把它下载下来wget -c https://mirror.example.com/ubuntu-releases/22.04.3/SHA256SUMS然后进行校验。在包含这两个文件的目录下执行sha256sum -c SHA256SUMS --ignore-missing这个命令的意思是会按照SHA256SUMS文件里记录的哈希值逐个检查当前目录下存在的文件是否匹配。由于我只下载了其中一个 ISO所以用--ignore-missing参数忽略掉没有下载的文件只看已有的这个。执行后如果看到类似ubuntu-22.04.3-desktop-amd64.iso: OK则说明文件完整无误可以放心使用。如果提示FAILED那就说明文件在传输中出了问题需要重新下载。千万别抱着侥幸心理用损坏的文件去安装我见过太多人在这里栽跟头浪费几个小时排查安装错误结果发现只是镜像文件坏了。3.4 制作启动盘与安装前准备镜像校验通过后下一步是把 ISO 写入 U 盘做成启动盘。这里注意不是简单地复制文件到 U 盘就行的需要通过专门的工具来写入。Linux 下可以直接用dd命令但危险性比较高容易写错设备导致数据丢失。更稳妥的方式是用图形化的启动盘制作工具在 Ubuntu 上一般自带“启动盘创建器”Windows 上也可以用通用的刻录工具。这类工具的使用逻辑都是相同的选择你下载的 ISO 文件选择目标 U 盘点击开始。启动盘制作完成后设置电脑从 U 盘启动就能进入 Ubuntu 的安装界面了。制作启动盘时有一个细节要注意U 盘的容量尽量大于 8G因为 Ubuntu 桌面版的安装介质通常需要 4GB 左右的空间但留出余量可以应对不同情况。同时制作启动盘会清空 U 盘里的数据操作之前记得备份。4. 常见问题与排查技巧实录4.1 下载速度依然很慢怎么办即便用了国内镜像有时候速度还是不尽如人意。这种情况我在实际工作中遇到过不少次原因通常有几个。第一个原因是你选择的镜像站本身在当前网络环境下不通畅。不同运营商之间互联互通有差异你所在的地区访问某一个镜像站可能很慢但访问另一个就很快。解决办法很简单换一个镜像站试试。我的习惯是先并行测试两三个镜像站的文件下载速度下载链接指向的是同一个文件的相同版本测试几秒钟就能看出差距。然后用最快的那个完成正式下载。第二个原因是你的下载还在走 HTTP/1.1 协议而镜像站支持 HTTP/2。HTTP/2 支持多路复用多个请求可以在一个连接上并行传输效率更高。aria2 默认会尽量使用协议协商但某些情况下可能需要手动开启。为 aria2 增加参数aria2c --http-accept-gziptrue --file-allocationnone -x 16 -s 16 https://mirror.example.com/ubuntu-releases/22.04.3/ubuntu-22.04.3-desktop-amd64.iso第三个原因比较隐蔽你的网络带宽可能被其他设备占用。如果家里同时有人在看 4K 视频、在打游戏、在下载其他大文件你的下载速度自然会被挤占。最简单的做法是暂时限流其他设备或者换个时间再下载。另外还有一种可能就是本地磁盘的写入速度成了瓶颈尤其是老旧的机械硬盘写入速度跟不上网络下载速度这时候把下载文件保存到固态硬盘里能明显改善。4.2 校验和一直匹配不上校验失败这个问题我几乎每个月都会在论坛上看到有人求助。最直接的原因自然是文件损坏但除此之外还有几个非文件损坏的情况需要排查。第一个情况是你下载的文件版本和SHA256SUMS文件里的版本不对应。比如你下载的是ubuntu-22.04.3-live-server-amd64.iso但在执行校验时用的却是另一个版本的校验文件。确保下载的SHA256SUMS文件和你下载的 ISO 文件在同一个目录下且版本相同。第二个情况是 Windows 系统下的换行符问题。如果你在 Windows 上用记事本打开SHA256SUMS文件然后复制里面的哈希值去手动比对可能会因为隐藏的回车符导致比对失败。这属于操作层面的坑不是文件损坏的问题。在 Linux 系统下执行校验命令就可以规避。第三个情况比较少见但值得提一下某些安全软件可能会在后台扫描大文件导致文件被改动或者被删减。校验前最好把 ISO 文件加入安全软件的白名单或者暂时退出安全软件进行校验。如果排除了以上情况校验依然失败那就果断重新下载。与其耗费大量时间排查一个不确定的问题不如直接花几分钟再拉一次文件效率反而更高。我可以提供一个快速判断文件是否损坏的小技巧很多启动盘制作工具在做完启动盘之后会自己也做一次校验如果工具提示校验通过那说明 ISO 文件大概率是好的。4.3 安装后 apt 源也要换下载完系统镜像装好系统之后你还会遇到一个问题默认的软件源指向国外安装软件时又慢又容易失败。这一步是镜像加速的延续但很多新手不知道。安装完成后的第一件事建议就是把 apt 源替换成国内的镜像源。在 Ubuntu 22.04 中apt 源文件的路径是/etc/apt/sources.list。不同镜像站提供了不同的配置方式。一条通用的做法是修改这个文件将原来的下载地址替换成镜像站的地址。为了操作方便可以用sed命令直接替换sudo sed -i s/archive.ubuntu.com/mirror.example.com/g /etc/apt/sources.list执行完成之后记得先更新索引sudo apt update如果命令输出中不再有报错信息说明源配置成功。这一步做完之后安装任何软件都会快很多比如sudo apt install python3-pip之类的操作基本是秒级响应。补充一个我自己的经验有些云厂商的镜像站在配置 apt 源时还需要额外考虑操作系统版本对应的代号。Ubuntu 22.04 的代号是jammy在配置源时要注意把版本号替换为jammy否则会出现找不到软件包的错误。镜像站页面上通常都会有现成的配置说明建议照着说明配置或者参考镜像站提供的自动化配置脚本比自己手改要稳妥得多。4.4 备份与多版本管理的小建议最后分享一个我的个人习惯我不会只保留一个 Ubuntu 版本镜像。通常我会在下载服务器或本地大容量硬盘里同时保留最近两到三个 LTS 版本的最新 point release 镜像以及对应的SHA256SUMS文件。平时安装时优先选择最新版本但如果遇到某些特殊需求需要回退到旧版本手头有镜像就不用临时去下载了。另外我会在下载完成后立刻把校验和的值记录下来存成一个文本文件和镜像放在同一个目录。这样将来如果把镜像复制到其他机器或者通过移动硬盘传给别人都可以快速地再做一次完整性验证。大文件在复制和转存过程中也有损坏的风险养成“下载即校验、转存再校验”的习惯能省去后续大量排查时间。关于镜像站的选择我还有一个小建议不要只保存一个镜像站地址。在我维护的服务器上我会把两三个不同的镜像站地址写在一个备忘文件里每个季度检查一次它们的可用性和同步状态。任何运营再稳定的服务都有可能出现临时的故障、迁移或者调整。手上多几个备选方案遇到问题切换起来从容很多。4.5 常见问题速查问题现象可能原因解决办法下载速度只有几十 KB/s镜像站选错或链路拥堵切换镜像站多个站点测速后择优下载到一半断掉网络不稳定或服务器断连使用 aria2 或 wget 断点续传校验提示 FAILED文件损坏或版本对应错误重新下载确保 SHA256SUMS 版本匹配制作启动盘后无法引导ISO 文件不完整或 U 盘兼容性差重新校验文件换一个 U 盘重新制作安装后 apt update 报错源配置版本代号错误检查源中的jammy版本代号是否正确镜像站目录里找不到 22.04镜像站同步延迟等待同步或切换到其他镜像站写在最后的小体会一个看似简单的下载流程实际做顺了之后能省下不少时间和精力。我自己刚开始折腾 Linux 的时候也是老老实实去官网点下载然后被龟速折磨到没脾气。后来明白了镜像加速的道理下载速度提升了几十倍整个体验完全变了。说到这我还想提醒一下下载只是第一步装好系统之后别忘了检查一下启动盘的制作是否规范也别忘了尽快配置好 apt 源。整个 Ubuntu 的安装流程从下载到装完软件源其实是一个完整闭环。把这个闭环走顺了以后不管是自己折腾环境还是帮同事朋友安装系统都能又快又稳。最后再分享一个小技巧下载大的 ISO 文件时可以先把文件下载到本地固态硬盘然后校验、制作启动盘。整个过程一气呵成很少出问题。只要掌握了我上面说的这些方法国内下载 Ubuntu 22.04 镜像这件事真的可以做到又快又安心。
阅读完成 · 觉得有帮助?
咨询建站