恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Ubuntu换源阿里云镜像:解决apt update慢与GPG密钥配置全指南

  • 首页
  • 资讯中心
  • /
  • Ubuntu换源阿里云镜像:解决apt update慢与GPG密钥配置全指南

相关资讯

Spring依赖包详解:Maven依赖管理与版本冲突排查实战 2026/10/14 22:19:42
Agent Harness工程实战:循环、上下文、沙箱与长时运行稳定性设计 2026/10/14 22:19:42
优秀AI Skill写作指南:结构化封装与调优实践 2026/10/14 22:14:42

最新资讯

【无线传输】采用多径Rician衰落无线信道模拟QPSK传输采用根抬余弦脉冲整形和SER与SNR分析Matlab实现
蓝鲸配置平台(bk-cmdb)v3.14.6 版本技术解析:TLS 连接、接口性能优化与问题修复全览
RxGo GroupByDynamic 操作符实战:按字符串键动态分组 Observable 流
SC01芯片:触摸感应、人体感应、液位检测三合一的高性能解决方案
仓颉编程语言包声明完全指南:语法规则、目录映射与命名冲突
两串电池主动均衡实战:MP2642GR-Z与PIC18F66K40方案

今日推荐

AI视频生成的时间一致性难题与时空建模演进
基于bbox的PDF文档解析:多栏重排与水印过滤实战
探矿数据进RAG前的清洗全攻略:TXT、Word、PDF、网页四类文档处理实践

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

Ubuntu换源阿里云镜像:解决apt update慢与GPG密钥配置全指南

发布时间:2026/10/14 22:19:42
Ubuntu换源阿里云镜像:解决apt update慢与GPG密钥配置全指南 刚帮朋友调试一台新装的Ubuntu服务器他碰到的问题很有代表性执行apt update速度慢到无法忍受安装个nginx都要等好半天。这几乎是每个国内Ubuntu用户都会遇到的痛点。解决思路也不复杂把系统默认的官方源切换到国内镜像站我一般第一时间选阿里云。这篇内容写给两种人看一种是刚接触Linux、对apt源还停留在“会用但不懂”阶段的新手另一种是需要在多台机器上批量配置源的老手。我会把“为什么换源”“怎么换源”“换完之后踩过的坑”一次性讲清楚同时覆盖18.04、20.04、22.04、24.04这几个主流LTS版本的完整配置样例尽量让你照着操作就能跑通。1. 为什么要把系统源换成阿里云镜像1.1 官方源慢的真实原因与镜像站的工作原理Ubuntu系统安装完成后软件源默认指向的是官方服务器地址。由于物理距离、国际出口带宽和链路拥堵等因素国内用户访问官方源时延迟往往很高经常出现几十KB/s的下载速度。这不是你网络的问题而是访问路径决定的。国内镜像站的原理其实很朴素镜像站运营商定期从官方仓库同步一份完整数据到自己的机房用户从就近的国内地址拉取软件包网络延迟和带宽立刻得到改善。阿里云的Ubuntu镜像属于云厂商基础设施建设的一部分同步频率高、带宽充足、覆盖面广我用了几年稳定性都非常好。需要说明的是换源不会影响系统安全。镜像站的数据本身带GPG签名校验软件包的哈希值也是完整保存的。也就是说即便数据经过第三方镜像站转发只要校验不通过apt一样会拒绝安装。后面的章节我会专门讲GPG公钥机制这里先记住一点换源不是把安全关掉。1.2 阿里云源与清华、中科大等镜像源的取舍国内几个主流镜像站我都实际用过分别是阿里云、清华TUNA、中科大USTC、网易等。从使用体验来说阿里云源的稳定性和速度综合表现排在第一梯队特别是ECS服务器之间内网访问时延迟极低。选择阿里云源还有几个隐藏优势。一是阿里云的镜像站对IPv6和其他进阶协议支持比较完善二是更新频率高新版本软件发布后基本当天就能同步三是在阿里云官方文档中有完整的源地址列表出问题时方便排查。如果你用的是阿里云ECS强烈建议换成阿里云源同样的代码走内网负载速度提升是按倍计算的。清华和中科大的源本身也很好尤其是某些特定网络环境下响应速度更优。我的习惯是阿里云服务器、公司办公网络用阿里云源如果所在网络访问某一家镜像站延迟特别高就择机切换不必死守一家。1.3 动手前先确认系统版本源配置文件的路径是/etc/apt/sources.list其中最关键的是“版本代号”字段。Ubuntu每个发行版都有自己的代号Codename比如22.04对应Jammy Jellyfish24.04对应Noble Numbat。如果代号写错apt会去找不存在的目录报出404错误。确认自己系统版本最直接的方法打开终端执行lsb_release -a输出中的Codename一栏就是要用到的字段。如果系统没有安装lsb-release执行cat /etc/os-release也可以看到VERSION_CODENAME。这一步一定不能跳过我见过太多人抄网上配置时没核对版本把jammy的源写进focal的系统里结果更新时报一串404错误还以为源地址有问题。2. 换源的完整实操流程2.1 第一步备份原有的源列表文件换源之前备份这个习惯必须养成。不管你在网上看到的是哪个版本的操作动手改系统配置文件前先做备份成本极低但收益极大。哪怕只是防止手误删除重要注释备份也能让你随时回滚。备份命令很简单sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak如果你是Ubuntu 24.04及更新版本系统源被拆分成多个文件存放在/etc/apt/sources.list.d/目录下其中ubuntu.sources就是核心源文件。这种情况下备份命令是sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak从前是用sources.list单一文件管理所有源后来新版本引入了DEB822格式把配置拆到了sources.list.d里。两种方式并行存在操作前先用ls命令看一眼系统实际用的是哪一种布局再决定备份哪个文件。2.2 第二步写入阿里云源地址备份完成后编辑源文件。传统方式是用vim或nano直接编辑我推荐先清空再写入避免残留的官方源地址造成冲突。清空文件用sudo tee /etc/apt/sources.list EOF ... EOF如果你用的是新版DEB822格式则编辑/etc/apt/sources.list.d/ubuntu.sources内容格式略有不同需要把Types、URIs、Suites、Components字段改成阿里云的地址。这里强调一个容易踩的坑老教程里常见的archive.ubuntu.com和security.ubuntu.com两个官方域名在阿里云源里其实也对应了不同路径。很多人只替换了第一个把security字段遗漏或写错结果apt update时依然有部分软件包走官方源速度依然很慢。要替换就完整替换别留尾巴。2.3 各版本Ubuntu的具体源配置样例为方便直接抄作业我列出四个主流LTS版本对应的阿里云源配置。18.04及以下版本已经逐步退出标准支持期建议尽早升级这里我只列20.04、22.04、24.04和24.10这几个还在维护周期内的版本。Ubuntu 20.04 Focal配置deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverseUbuntu 22.04 Jammy配置deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverseUbuntu 24.04 Noble的DEB822格式配置写入/etc/apt/sources.list.d/ubuntu.sourcesTypes: deb URIs: http://mirrors.aliyun.com/ubuntu/ Suites: noble noble-updates noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg Types: deb URIs: http://mirrors.aliyun.com/ubuntu/ Suites: noble-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg注意24.04不再使用sources.list单文件而是通过sources.list.d/下的.sources文件管理。配置中的Signed-By字段指向系统中已经安装的Ubuntu官方GPG密钥文件这个字段非常关键少了它apt会直接报错。3. GPG公钥校验机制与密钥导入3.1 为什么apt一定要校验GPG签名很多刚接触Linux的人第一次遇到GPG公钥报错都会懵error showing cache lock、NO_PUBKEY、The following signatures couldnt be verified...这些错误看着吓人其实逻辑很简单。软件源本质上是远程服务器上的文件仓库。如果没有任何校验机制攻击者只要在传输链路中篡改软件包内容系统就可能被植入恶意代码。GPG机制解决的就是信任问题Ubuntu官方用私钥对Release文件签名apt用预先安装的公钥验签。验签通过说明数据确实来自官方且没有被修改过验签失败apt就拒绝继续执行。这里需要理解一个关键点阿里云的镜像站同步的是Ubuntu官方仓库数据文件签名用的还是Ubuntu官方那把私钥。所以换阿里云源不需要导入阿里云自己的公钥系统自带的Ubuntu公钥文件就能完成验证。3.2 公钥缺失的三种正确解决办法如果在apt update时看到NO_PUBKEY错误多半是系统某种原因缺失了对应公钥。解决办法有三种按推荐顺序排列。第一种用keyserver拉取这也是我自己最常用的方式sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 需要填写的报错公钥ID报错信息里会完整显示缺失的指纹把最后8位或完整指纹粘贴进去即可。注意Ubuntu 22.04后apt-key命令已经标记为废弃虽然部分系统仍能用但更推荐第二种方式。第二种直接安装公钥包。Ubuntu的公钥托管在官方软件包里执行sudo apt-get install --reinstall ubuntu-keyring这个包内含Ubuntu官方全套GPG公钥装完后一般能覆盖大多数源的校验需求。第三种手动下载公钥到指定目录。这种方式适合需要离线安装的场景先在有网络的机器上导出公钥文件再拷贝到/etc/apt/trusted.gpg.d/目录下。我个人不推荐把来源不明的公钥导入系统除非你非常清楚这个公钥的出处。4. 执行update与upgrade的正确姿势4.1 apt update的输出怎么看源配好之后第一件事是更新软件源索引sudo apt update正常执行的输出会包含Get:1、Get:2这样的行每一行对应一个源条目。有些条目显示Ign或者Hit前者代表该条目被忽略后者代表本地索引已经是最新版本都不用担心。等到输出末尾出现Reading package lists... Done就说明更新成功了。如果看到Err或404字样说明源列表里有条目无法访问。常见原因包括网络不通、版本代号写错、源路径格式有误。处理方式是回到上一步检查sources.list或ubuntu.sources文件内容不要被错误信息吓到。我建议更新完源之后顺便执行一次系统更新验证整体状态sudo apt upgradeupgrade之前先看一眼将要升级的软件包数量。如果是一台新安装的服务器升级软件包是正常操作但如果是运行重要服务的生产机器建议慎重升级尤其要避免跨大版本升级软件包。4.2 升级前必看的包列表与几类升级场景很多人习惯性执行apt upgrade -y直接升级全部我强烈不建议在未查看包列表的情况下使用-y参数。正确做法是先用命令预览apt list --upgradable这个命令会列出所有可升级软件包、当前版本和目标版本。看到内核相关包时需要特别留意因为内核升级后需要重启系统才能生效。如果你在跑关键服务可以暂时排除内核包等待维护窗口再处理。升级场景大致分三类。第一类是刚装完系统后的全量升级这种情况直接upgrade即可第二类是日常安全更新通常只涉及少量软件包风险低第三类是跨版本系统升级比如从22.04升级到24.04这时不应该用简单的apt upgrade而是要用do-release-upgrade工具过程更加复杂。换源后正常使用场景下前两类比较常见。这里还要提一个容易被人忽略的细节每次apt update之后apt会建立一份Package list缓存。如果源地址发生变化但缓存未刷新后续安装软件时可能出现诡异错误。解决办法也很简单就是每次更换源后一定先执行update再执行安装或升级操作顺序不要反。5. 常见报错与排查思路5.1 高频问题速查表把这些问题整理成一张速查表遇到问题时先对照自查能节省大量时间。报错现象可能的原因解决思路404 Not Found版本代号写错或源路径错误检查Codename核对地址格式NO_PUBKEY系统中缺少对应源的公钥重新安装ubuntu-keyring或拉取公钥Hash Sum mismatch本地缓存损坏或网络中断清理/var/lib/apt/lists后重新updateTemporary failure resolvingDNS解析失败检查网络连通性和DNS配置E: Unable to locate packageupdate未执行或源不含该软件包先执行apt update再查询Release file expired系统时间错误同步系统时间后重试apt-key is deprecated使用了废弃命令改用ubuntu-keyring或DEB822格式这几类问题我基本都在真实环境中遇到过。比如Hash Sum mismatch很多时候是因为上次update时网络中断部分列表文件下载不完整清理后重新下载即可解决。Release file expired则往往和主板时间不准有关尤其双系统用户时间漂移会导致apt认为源文件的签名过期。5.2 三个让我印象深刻的排查案例第一个案例某台服务器切换阿里云源后始终报404。检查源文件时发现把jammy写成了jammmy多打了一个字母。这种低级错误反而最隐蔽。我的建议是粘贴配置样例后不要急着执行先用cat检查一遍再执行update。第二个案例apt update始终卡在一个条目上不动。排查发现是域名解析慢DNS配置指向了一个不稳定服务器。将DNS改成公共DNS后立即恢复正常。很多源更新慢的问题根源其实不在源而在DNS解析。第三个案例Hash Sum mismatch反复出现。清理缓存、更换源都没用最后发现是某层网络设备对HTTPS流量做了缓存劫持。这种场景在办公网络里并不算罕见换用HTTP协议源地址后问题消失。虽然HTTP源本身少了传输层加密但apt的GPG校验机制依然能保证数据完整性所以安全性上倒是不用太担心。6. 锦上添花桌面版换源与周边生态源配置6.1 图形界面换源与服务器版最小化配置如果你在桌面版Ubuntu上操作图形化换源更直观。打开“软件和更新”(Software Updates)在“Ubuntu软件”选项卡的“下载服务器”下拉菜单里选择“其他”搜索aliyun并选中即可。系统会自动替换源列表并在后续更新时提示输入用户密码。图形界面的好处是省去了手写配置的麻烦也不容易写错版本代号。但服务器版通常没有图形界面必须走命令行路线。我的做法是写一个简单的部署脚本在需要批量配置多台机器的场景下可以显著节省时间。部署脚本的核心逻辑是备份原文件、写入阿里云源、执行apt update三步。用变量保存版本代号就能自动适配不同系统版本。脚本编写时注意加set -e任何一步失败立即退出避免半配置状态。6.2 顺带配置Python和Node的镜像源换完apt源后建议顺手把Python的pip镜像、Node的npm镜像也换成阿里云源。开发环境里这两个工具的下载速度同样是痛点。pip换源只需修改或创建~/.pip/pip.conf文件写入国内地址。npm同理执行npm config set registry时指定阿里云镜像。这两个源在阿里云镜像站里都长期维护速度和apt源保持一致。如果你平时使用Docker也可以顺手配置Docker镜像加速器配置文件在/etc/docker/daemon.json中。这些操作虽然和Ubuntu的源不是一回事但本质都是“访问海外资源速度慢改成国内镜像”的需求。搭配使用后整个开发链条的下载效率都会明显提升。我个人在实际操作中的体会是换源这件事技术门槛不高但非常考察细心程度。版本代号、文件路径、公钥状态这三个关键点只要有一个出问题后续就会冒出各种莫名其妙的报错。写这篇内容时我又回顾了一遍自己从踩坑到熟练的过程最想提醒大家的还是那句老话动手之前先备份改完之后先update。这套流程熟练之后二三十秒就能完成一台机器的源切换剩下的时间拿来做真正有价值的事情不香吗。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号