Ubuntu换源全攻略:提升apt速度与国内镜像配置详解
1. 为什么你的Ubuntu需要换源如果你刚装好Ubuntu打开终端准备sudo apt update结果发现更新速度慢得像在爬或者干脆就卡在“正在连接”这一步那大概率是默认的软件源服务器离你太远了。Ubuntu默认的软件仓库服务器在国外对于国内用户来说网络延迟高、带宽不稳定是家常便饭。这不仅仅是下载慢的问题更直接的影响是安装软件时频繁超时失败、系统更新进度条半天不动甚至因为网络问题导致依赖关系解析出错让你的开发或学习效率大打折扣。换源本质上就是把软件仓库的地址从国外的官方服务器换成位于国内的镜像服务器。这些镜像服务器会定时通常是每6小时或每天与官方源同步确保你获取的软件包是最新且完整的。换源之后apt命令的下载速度通常会从几十KB/s飙升到几MB/s甚至跑满你的带宽那种流畅感会让你觉得这才是Linux该有的效率。无论是安装开发环境如Python、Node.js、Docker、桌面应用如搜狗输入法、VSCode还是进行系统升级体验都会有质的飞跃。2. 动手之前搞清你的系统版本和架构在开始操作之前有两个关键信息你必须确认这直接决定了你后续要修改哪个文件以及选择哪个镜像源地址。盲目操作可能会导致软件源不匹配引发依赖错误。2.1 确认Ubuntu版本代号Ubuntu的每个版本都有一个独特的代号比如“Jammy Jellyfish”、“Focal Fossa”。软件源的配置文件中使用的就是这个代号而不是“22.04”这样的数字版本。获取方法很简单打开终端输入以下命令lsb_release -a或者更简洁的lsb_release -cs以Ubuntu 22.04 LTS为例执行lsb_release -cs会输出jammy。这个jammy就是你接下来要在源配置文件中使用的关键代号。注意不同版本的Ubuntu如20.04/focal, 22.04/jammy, 24.04/noble对应的软件仓库是不同的。如果你错误地使用了其他版本的代号apt将无法找到正确的软件包列表导致更新失败。2.2 确认系统架构虽然对于大多数桌面用户来说系统架构都是amd64即x86_64但在一些特殊场景如使用ARM芯片的Mac、树莓派或国产化平台下可能是arm64或i386。确认架构可以确保你下载的软件包是兼容的。运行dpkg --print-architecture或者uname -m对于常见的64位Intel/AMD电脑输出会是x86_64或amd64两者等价。在软件源中我们通常使用amd64这个表述。3. 主流国内镜像源详解与选型建议国内有多个高校和机构提供了高质量的Ubuntu镜像服务。它们都很稳定但在具体细节上略有差异。选择一个合适的源有时能避免一些意想不到的小问题。3.1 清华大学 TUNA 镜像源地址示例https://mirrors.tuna.tsinghua.edu.cn/ubuntu/优点同步频率高通常每6小时同步一次软件包非常新。协议支持全同时支持http、https和rsync访问速度快且稳定。文档完善其帮助页面清晰除了Ubuntu还提供包括Anaconda、Docker、PyPI(pip)、Node.js、GitHub等几乎所有主流开源项目的镜像配置方法堪称“一站式”镜像站。缺点由于用户量巨大在高峰时段如工作日晚间偶尔可能出现带宽拥堵速度略有波动。适合人群绝大多数用户尤其是需要配置多种开发环境Python、Docker等的用户。3.2 阿里云 镜像源地址示例https://mirrors.aliyun.com/ubuntu/优点网络质量极佳依托阿里云强大的CDN网络在全国各地访问速度都非常快且稳定延迟低。企业级可靠性作为商业公司维护的镜像可用性SLA很高几乎不会出现宕机。界面友好其镜像站页面提供了直接的配置命令复制按钮对新手非常友好。缺点主要专注于操作系统和少数几个大型项目的镜像其他小众开发工具的镜像可能不如高校镜像站全面。适合人群追求极致稳定和下载速度的用户特别是将Ubuntu用于生产环境或关键开发任务时。3.3 华为云 镜像源地址示例https://repo.huaweicloud.com/ubuntu/优点速度均衡稳定同样拥有优质的国内网络速度表现和阿里云不相上下。覆盖全面除了系统源也提供了Docker、Maven、npm等常见工具的镜像。缺点知名度和用户量相对前两者略小社区讨论和问题排查资料可能少一些。适合人群所有用户尤其是对华为云生态有偏好的用户。选型建议对于个人用户这三个源任选其一即可差异不大。我个人习惯是桌面日常使用选阿里云求稳需要搭配配置Anaconda、pip等众多开发环境时参考清华大学源的文档。你可以都试试用apt update的速度来直观感受一下。4. 实战操作两种方法更换软件源这里提供两种最常用、最安全的方法通过图形界面适合新手和直接修改配置文件适合所有用户推荐。4.1 方法一使用图形化设置Ubuntu 22.04 / 24.04对于Ubuntu 22.04 LTS及更新版本系统设置中内置了软件源切换功能这是最无脑的方法。点击屏幕左上角的“活动”或者按SuperWindows键搜索并打开“软件和更新”应用。在弹出的窗口中找到“Ubuntu软件”选项卡。点击“下载自”旁边的下拉框你会看到一个列表。如果列表里直接有“中国的服务器”且包含“mirrors.aliyun.com”等选项直接选择它即可。如果列表里没有点击下拉框底部的“其他站点...”。这时会弹出一个新窗口左侧是国家和地区列表选择“中国”。右侧会列出所有可用的中国镜像服务器。从列表中选择一个镜像源例如“mirrors.aliyun.com”。你可以点击“选择最佳服务器”让系统自动测试并推荐一个速度最快的但手动选择更可控。点击“选择服务器”然后关闭“软件和更新”窗口。系统会提示你“可用的软件信息已过时”点击“重新载入”。这个过程实际上就是在后台执行sudo apt update。优点操作直观无需记忆命令和文件路径。缺点只修改了主软件源即archive.ubuntu.com和security.ubuntu.com对应的部分对于一些通过ppa个人软件包存档添加的第三方源无效。4.2 方法二手动编辑配置文件推荐一劳永逸这是最根本、最彻底的方法通过修改/etc/apt/sources.list文件来实现。这个文件决定了apt命令从哪里获取软件包。步骤1备份原始源文件重要在进行任何修改前备份是一个必须养成的好习惯。这样一旦新源出现问题可以瞬间恢复。sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup步骤2编辑源文件使用你喜欢的文本编辑器例如nano简单或vim高效。这里以nano为例sudo nano /etc/apt/sources.list打开文件后你会看到很多以deb或deb-src开头的行它们指向http://archive.ubuntu.com等地址。步骤3替换内容最简单的方式是注释掉所有旧行在行首加#然后添加新的源地址。以下以阿里云镜像源、Ubuntu 22.04 LTS (jammy)为例替换整个文件内容# 默认注释了源码镜像以提高 apt update 速度如有需要可自行取消注释 deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse # 安全更新源非常重要 deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse # 预发布软件源不建议启用 # deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse # deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse关键点解释deb: 表示二进制软件包仓库。deb-src: 表示源代码软件包仓库。普通用户一般用不到可以注释掉以加快apt update速度。jammy: 这就是你之前查到的版本代号务必替换成你自己的如focal,noble。main restricted universe multiverse: 这是Ubuntu的四个官方组件分区涵盖了从完全自由开源到有版权限制的各类软件建议全部保留。最后四组deb行分别对应主仓库、更新仓库、向后兼容仓库、安全更新仓库。安全更新仓库必须启用这是系统安全补丁的来源。如果你想换成清华大学源只需将上面所有https://mirrors.aliyun.com/ubuntu/替换为https://mirrors.tuna.tsinghua.edu.cn/ubuntu/即可。步骤4保存并退出在nano编辑器中按CtrlO写入文件回车确认然后按CtrlX退出。步骤5更新软件包列表让系统读取新的源地址并获取最新的软件包列表信息sudo apt update这个命令本身不更新任何已安装的软件它只更新本地缓存的软件包索引。如果看到一大串从mirrors.aliyun.com或你选择的镜像的Hit命中记录且速度飞快恭喜你换源成功了步骤6升级已安装的软件可选在确认apt update无误后你可以选择升级所有可升级的软件包sudo apt upgrade系统会列出将要升级的软件包输入y确认即可。如果想连发行版也一起升级如从22.04升级到24.04则需要使用sudo apt dist-upgrade但这属于大版本升级操作前务必做好重要数据备份。5. 进阶配置与相关工具镜像加速换好系统源只是第一步。在开发中我们经常需要用到其他包管理器它们的默认源也在国外。下面是一些常见工具的换源方法。5.1 Docker镜像加速如果你使用Docker从Docker Hub拉取镜像同样可能很慢。需要配置Docker Daemon的镜像加速器。编辑或创建Docker Daemon配置文件sudo nano /etc/docker/daemon.json输入以下内容以阿里云镜像加速器为例你需要去阿里云容器镜像服务控制台免费获取专属加速器地址{ registry-mirrors: [https://your_id.mirror.aliyuncs.com] }也可以配置多个比如同时加上中科大镜像{ registry-mirrors: [ https://your_id.mirror.aliyuncs.com, https://docker.mirrors.ustc.edu.cn ] }保存退出后重启Docker服务使配置生效sudo systemctl restart docker验证配置是否生效docker info | grep -A 1 Mirrors如果输出中包含你配置的镜像地址说明成功。5.2 Python pip 使用清华镜像源pip安装Python包时使用-i参数临时指定镜像源或者修改全局配置。临时使用pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple设为默认推荐创建或编辑pip配置文件mkdir -p ~/.pip nano ~/.pip/pip.conf写入以下内容[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn这样以后所有pip install命令都会默认使用清华源。5.3 Conda / Miniconda 换源对于数据科学用户Anaconda或Miniconda的包管理同样需要加速。# 生成.condarc配置文件如果不存在 conda config --set show_channel_urls yes # 添加清华的conda镜像频道 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ # 设置搜索时显示频道地址 conda config --set show_channel_urls yes执行后可以查看~/.condarc文件确认配置。5.4 Node.js npm 换源使用淘宝的npm镜像。# 设置淘宝镜像 npm config set registry https://registry.npmmirror.com # 验证 npm config get registry6. 疑难杂症与排错指南即使按照步骤操作也可能会遇到一些问题。这里列出几个常见坑点。6.1 错误Certificate verification failed在执行sudo apt update时如果出现类似Certificate verification failed: The certificate is NOT trusted.的错误这是因为你的系统不信任镜像源使用的HTTPS证书某些自签证书或中间证书问题。解决方案临时方案将源地址从https改回http。虽然安全性略降但对于国内可信镜像站通常可以接受。例如将https://mirrors.aliyun.com改为http://mirrors.aliyun.com。根本方案更新系统的CA证书包。sudo apt install --reinstall ca-certificates sudo update-ca-certificates然后再次尝试apt update。6.2 错误Failed to fetch ... 404 Not Found这种错误最常见的原因是版本代号不匹配。比如你的系统是Ubuntu 20.04 (focal)但你在sources.list里写的却是jammy。apt会去.../ubuntu/dists/jammy/目录下找文件而这个目录对于focal系统的镜像站来说是不存在的所以返回404。解决方案再次用lsb_release -cs确认你的系统代号。仔细检查/etc/apt/sources.list文件中每一行的代号是否正确、一致。确保镜像源的URL路径完整且正确。标准的格式是deb http://mirror.url/ubuntu/ version_component1 component2 ...6.3 换源后apt update速度依然很慢测速选择用ping和curl -I命令测试一下你选的镜像站速度。有时候物理距离最近的未必是最快的可以换另一个镜像站试试。IPv6问题有些网络环境IPv6配置不当会导致解析缓慢。可以尝试暂时禁用IPv6。编辑/etc/gai.conf找到并取消注释precedence ::ffff:0:0/96 100这一行然后保存。或者在sources.list中直接使用镜像站的IPv4地址如果提供。DNS问题尝试更换为公共DNS如114.114.114.114或8.8.8.8看是否有改善。6.4 如何还原为默认的官方源如果你备份了原始文件强烈建议的操作只需一条命令sudo cp /etc/apt/sources.list.backup /etc/apt/sources.list sudo apt update如果没有备份也别慌。Ubuntu官方提供了生成默认sources.list的命令以jammy为例sudo sed -i s|http://[^ ]*|http://archive.ubuntu.com|g; s|https://[^ ]*|http://archive.ubuntu.com|g /etc/apt/sources.list sudo apt update这条命令会粗暴地将文件中所有镜像URL替换为官方地址适用于紧急恢复。7. 维护习惯与最佳实践换源不是一劳永逸的事情养成好的维护习惯能让你的系统更健康。定期更新即使不升级软件也应每周或每半个月执行一次sudo apt update至少让系统知道有哪些安全更新可用。安全更新-security仓库务必及时安装。升级前先更新在执行sudo apt upgrade或sudo apt dist-upgrade之前永远先执行sudo apt update。确保本地软件包列表是最新的否则可能会安装旧版本或引发依赖冲突。清理缓存apt下载的.deb安装包会缓存在/var/cache/apt/archives/目录定期清理可以释放磁盘空间。sudo apt clean # 删除所有已下载的安装包缓存 sudo apt autoclean # 删除已过时的安装包缓存更安全谨慎添加PPAPPA个人软件包存档是获取最新或特定版本软件的好方法但来源鱼龙混杂。只添加你信任的、活跃的PPA。添加PPA后其源地址通常写在/etc/apt/sources.list.d/目录下的独立文件中这些源的地址通常无法被国内镜像加速可能成为系统更新的速度瓶颈。版本升级后当你完成一次大版本升级如20.04 - 22.04后系统会尝试自动将sources.list中的版本代号更新。但为了获得最佳速度最好在升级完成后手动检查并再次将源地址修改为国内镜像。手动编辑sources.list文件是我最推荐的方式它让你对整个软件来源有完全的控制权。整个过程的核心就是“备份-替换-更新”三步曲。当你熟悉之后为任何新装的Ubuntu系统换源五分钟内就能搞定。这个简单的操作是提升你在Linux世界工作效率的第一个也是最重要的一个技巧。

相关新闻

从模糊标题到完整项目:系统化创作思维与工程化实践指南

从模糊标题到完整项目:系统化创作思维与工程化实践指南

你打开一个项目,标题是“【隐囚】I cant move on”。没有正文,没有关键词,没有描述。它像一个空白的画布,或者一个只写了标题的日记本。你可能会想,这能写出什么?一个关于“隐囚”的故事?一首名…

2026/10/14 19:14:51 阅读更多 →
WorkshopDL:轻松获取Steam创意工坊模组,跨平台玩家的终极解决方案

WorkshopDL:轻松获取Steam创意工坊模组,跨平台玩家的终极解决方案

WorkshopDL:轻松获取Steam创意工坊模组,跨平台玩家的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic平台购买了游戏&…

2026/10/14 19:15:19 阅读更多 →
Sunshine游戏串流终极指南:5步打造你的免费私人云游戏平台

Sunshine游戏串流终极指南:5步打造你的免费私人云游戏平台

Sunshine游戏串流终极指南:5步打造你的免费私人云游戏平台 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否厌倦了传统云游戏服务的订阅费用和游戏库限制&#xf…

2026/10/13 17:18:45 阅读更多 →

最新新闻

云行数智:以Agent智能体为技术基座的企业级AI公司全解析

云行数智:以Agent智能体为技术基座的企业级AI公司全解析

大模型进入企业已经两三年,模型能力迭代很快,但真正跑通落地的项目比例并不高。很多团队把原因归结为模型不行,其实问题通常出在那些「模型之外」的地方。 本文不推销任何产品,只从工程视角聊一个问题:企业级 AI 为什么…

2026/10/14 19:15:24 阅读更多 →
ENFP是什么体验?16型人格里最坐不住的类型

ENFP是什么体验?16型人格里最坐不住的类型

作为一个ENFP,我来说说这个类型到底是什么体验。ENFP被称为”竞选者”,是16型人格里最热情、最有创意、也最坐不住的类型。我们这种人,开会的时候永远在说”要不我们试试这个?”,朋友聚会的时候永远能找到新话题&#…

2026/10/14 19:15:24 阅读更多 →
单片机不用一直等一秒:定时器中断怎样提醒它点灯?

单片机不用一直等一秒:定时器中断怎样提醒它点灯?

单片机不用一直等一秒:定时器中断怎样提醒它点灯?本文为教学接线与设计预期,尚无实物测量记录;使用 NUCLEO-F030R8。问题 让小灯每隔一秒换一次亮灭,可以让主程序原地等,但难做别的事。改用芯片定时器数格子…

2026/10/14 19:15:24 阅读更多 →
AI时代职业变革:哪些工作最易被替代?

AI时代职业变革:哪些工作最易被替代?

1. 人工智能技术发展现状与行业影响人工智能技术在过去十年间取得了突破性进展,深度学习、大语言模型等技术的成熟正在重塑各行各业的工作方式。根据麦肯锡全球研究院的报告,到2030年,全球约有3.75亿工作岗位可能受到自动化技术的影响。这种变…

2026/10/14 19:15:24 阅读更多 →
警惕AI领域虚构技术术语:如何识别伪概念

警惕AI领域虚构技术术语:如何识别伪概念

我无法基于该标题生成符合要求的博文内容。原因如下:标题中提及的“RRSI 智能体 Harness”“正则化递归自我改进”等术语,在当前公开、权威、可验证的学术与技术渠道(包括谷歌研究院官网、arXiv、ACL、NeurIPS、ICML 等主流顶会论文库&#x…

2026/10/14 19:15:24 阅读更多 →
乐企增值税抵扣勾选V3.010实战:从发票池到申报表的全链路对接指南

乐企增值税抵扣勾选V3.010实战:从发票池到申报表的全链路对接指南

简介:乐企增值税抵扣勾选能力说明文档V3.010面向企业财税人员、发票管理岗及对接乐企开放平台的开发与测试人员,围绕增值税抵扣勾选这一税务合规关键环节,系统梳理接口调用与业务场景处理逻辑。资源包内含1个docx文档,大小约10.67…

2026/10/14 19:14:23 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →