刚接触Ubuntu的新手可能会遇到这样的困扰:安装软件时速度慢得像蜗牛爬,一个简单的更新操作要等上大半天。这其实是因为默认的软件源服务器在国外,物理距离远加上网络限制,导致下载速度很不理想。我自己刚开始用Ubuntu时就经常遇到这种情况,有时候甚至因为超时导致安装失败。
国内镜像源就是解决这个问题的利器。它们相当于在国内建立的Ubuntu软件仓库镜像站,内容与官方源完全同步,但服务器就在国内,访问速度能提升10倍以上。实测从清华源下载软件包,速度经常能跑满我的百兆带宽,而原来用官方源时只有几十KB/s。更重要的是,这些镜像源都由知名高校和企业维护,稳定性和安全性都有保障。
目前主流的国内镜像源包括:
提示:选择镜像源时可以考虑地理位置,比如南方用户用网易源可能更快,北方用户用清华源更稳定。
切换源之前,必须先确认你的Ubuntu版本号。因为不同版本的源地址格式不同,用错版本会导致更新失败。我刚开始时就犯过这个错误,把20.04的源用在22.04上,结果apt update报了一堆404错误。
最准确的查看方法是执行:
bash复制lsb_release -a
这个命令会输出类似这样的信息:
code复制No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
关键要看"Codename"这一行,比如22.04的代号是jammy,20.04是focal。后面配置源时会用到这个代号。
修改系统文件前备份是个好习惯,万一新源有问题可以快速恢复。我建议用这个命令:
bash复制sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
这会在同目录下创建备份文件,需要恢复时只需:
bash复制sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
清华源是我最常用的镜像,更新及时且速度稳定。配置时需要注意两点:一是选择正确的系统代号(如jammy),二是启用合适的组件。
用nano编辑器打开源文件:
bash复制sudo nano /etc/apt/sources.list
删除原有内容,替换为(以22.04为例):
bash复制deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
保存退出后,建议立即更新:
bash复制sudo apt update && sudo apt upgrade
阿里云源特别适合在阿里云ECS上使用,内网传输速度极快。配置方法与清华源类似,地址替换为:
bash复制deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
换源后第一步应该执行:
bash复制sudo apt update
这个命令会从新源下载软件包列表。如果看到类似这样的输出,说明换源成功:
code复制Hit:1 https://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy InRelease
Hit:2 https://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates InRelease
Hit:3 https://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-backports InRelease
Hit:4 https://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-security InRelease
Reading package lists... Done
如果出现"Failed to fetch"错误,很可能是版本不匹配或网络问题。
错误1:404 Not Found
这通常是因为源地址中的系统代号写错了。比如把22.04(jammy)的源用在20.04(focal)上。解决方法:
lsb_release -a确认系统版本错误2:无法连接服务器
可能是网络配置问题,可以尝试:
bash复制ping mirrors.tuna.tsinghua.edu.cn
如果不通,检查网络连接,或者尝试其他镜像源。
虽然sudo apt upgrade可以更新所有软件,但在生产环境中我建议更谨慎:
bash复制sudo apt list --upgradable # 先查看可更新包
sudo apt install --only-upgrade <包名> # 只更新特定包
可以在sources.list中添加注释来组织不同的源:
bash复制# 主仓库
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted
# 安全更新
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted
# 第三方软件
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy universe
不喜欢命令行的用户可以使用:
bash复制sudo software-properties-gtk
在"Ubuntu软件"选项卡的下拉菜单中选择"其他站点",然后选择想要的镜像源即可。