如何在Ubuntu中更换国内镜像源 Ubuntu修改软件源的方法

系统教程

Ubuntu 24.04+ 默认使用 DEB822 格式,需检查 /etc/apt/sources.list.d/*.sources 是否存在且含 "URIs:" 字段;若无则回退至 /etc/apt/sources.list。

直接换源能明显提速,但 Ubuntu 24.04 及更新版本默认用 DEB822 格式(.sources 文件),只改 /etc/apt/sources.list 会失效。

怎么判断该改哪个文件

Ubuntu 从 24.04(Noble)起默认启用 APT 的 DEB822 源格式,配置分散在 /etc/apt/sources.list.d/ 下的 *.sources 文件中;旧版(如 22.04 Jammy)仍以 /etc/apt/sources.list 为主。不确认时先查:

  • 运行 ls /etc/apt/sources.list.d/*.sources 2>/dev/null,有输出说明走 DEB822
  • 运行 grep -l "Types:" /etc/apt/sources.list.d/*.sources 2>/dev/null,若返回路径,则确认是新格式
  • 若两者都为空,且 /etc/apt/sources.list 存在且非空,就按传统格式处理

DEB822 格式下如何安全替换清华源

不能用简单 sed 替换 URL,因为字段结构严格,手误易导致 APT 解析失败。推荐用 sed 精准定位字段修改:

  • 先备份:sudo cp -r /etc/apt/sources.list.d/ /etc/apt/sources.list.d.bak
  • 批量替换主源和安全源 URI:sudo sed -i 's@^URIs:.*archive.ubuntu.com@URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g; s@^URIs:.*security.ubuntu.com@URIs: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/@g' /etc/apt/sources.list.d/*.sources
  • 注意:必须保留 URIs: 前缀和冒号,且只改这一行;Suites:Components: 行不能动
  • 改完后运行 sudo apt update,若报错 Invalid value for URIs,说明格式被破坏,立刻从备份恢复

传统 sources.list 格式常见错误

很多人复制镜像站给的示例时漏掉关键部分,导致 apt update 报 404 或忽略某类包:

PostgreSQL 18.4 ubuntu

PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。

  • 忘记补全 deb-src 行 —— 这会导致无法 apt source 或编译安装,不是必须但建议保留
  • focal(20.04)错写成 jammy(22.04)—— 镜像站目录不存在,直接 404;查当前代号用 lsb_release -sc
  • 混用 HTTP 和 HTTPS —— 部分镜像站(如 USTC)已弃用 HTTP,强制用 https://,否则连接被重置
  • 注释掉整段却忘了取消 # deb-src 前的 # —— 导致源实际未启用

为什么安全源(security)也得一起换

不换 security.ubuntu.com 地址,apt update 会卡在它上面超时或失败,尤其在校园网或某些 ISP 下:

  • 清华、中科大、阿里云等主流镜像均同步 security 目录,延迟通常在 1–2 小时内,对普通用户足够
  • 只换主源不换 security 源,apt list --upgradable 可能漏掉关键安全更新
  • 命令行一键换全量(含 security):sudo sed -i 's@http://\(archive\|security\)\.ubuntu\.com@https://mirrors.tuna.tsinghua.edu.cn/ubuntu@g' /etc/apt/sources.list
  • 图形界面方式(“软件和更新”→“选择最佳服务器”)默认也会一并切换 security 源

最麻烦的其实是混合环境:一台机器既有传统 sources.list,又存在 sources.list.d/*.sources,两处都得检查。别信“改完一个就 OK”,apt update 的输出里如果出现 HitIgn 并存,大概率是某处源没生效或地址拼错了。

本文地址:https://www.vszh.cn/article/1443917.html

如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!

猜您喜欢