ubuntu deb822格式source.list.d/ubuntu.sources
Ubuntu 近几年把软件源配置从传统的 sources.list 单行格式,逐步引向一种更结构化的新写法 —— DEB822 格式。名字来自 Debian 的控制文件规范(RFC822 风格键值对结构),本质上是把一行挤满参数的源定义,改成字段化配置。
传统格式像这样:
1 | deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse |
DEB822 改成块结构,每个字段单独一行,更清晰也更容易自动化管理:
1 | Types: deb |
核心变化可以理解为:
- 一条源 = 一个配置块
- 每个参数拆成字段
- 支持多个 suites / types 合并写
- 密钥绑定(Signed-By)更安全
- 更适合自动生成与容器环境
字段含义:
Types
源类型,一般是:
deb二进制包deb-src源码包
URIs
仓库地址。
Suites
发行版本或仓库通道,例如:
- noble(24.04)
- noble-updates
- noble-security
- noble-backports
Components
软件仓库分类:
- main(官方支持)
- restricted(受限驱动)
- universe(社区维护)
- multiverse(版权受限)
Signed-By
指定仓库签名 key,避免全局信任 key。
Ubuntu 为什么要推这个格式?
因为旧格式存在几个现实问题:
- 自动化工具修改困难
- key 管理混乱(apt-key 已废弃)
- 一行参数太多,容易写错
- 容器/云环境需要模块化源配置
DEB822 更像结构化配置文件,适合现代运维和 CI 自动化。
现在 Ubuntu 24.04+ 的默认源文件通常在:
1 | /etc/apt/sources.list.d/ubuntu.sources |
而不是旧的:
1 | /etc/apt/sources.list |
你可以直接查看:
1 | cat /etc/apt/sources.list.d/ubuntu.sources |