Apt

1. 版本分界
阶段版本范围所属Debian版本特点
旧版APT ≤ 2.1Debian 10 (Buster) 及更早传统 sources.list 格式
新版APT ≥ 2.1Debian 11 (Bullseye) 及之后引入 .sources 文件,结构化格式
2. 配置文件路径变化
项目APT ≤2.1 (旧版)APT ≥2.1 (新版)
主配置文件/etc/apt/sources.list/etc/apt/sources.list.d/debian.sources(默认生成)
额外源配置/etc/apt/sources.list.d/*.list/etc/apt/sources.list.d/*.sources
签名 Key/etc/apt/trusted.gpg/etc/apt/trusted.gpg.d/*.gpg/usr/share/keyrings/*.gpg(推荐安全路径)
pinning 策略/etc/apt/preferences/etc/apt/preferences.d/*相同路径,未改动
3. 配置文件格式对比
旧版(APT ≤2.1)

每一行就是一个源,格式简洁但不够灵活:

1
2
3
4
# /etc/apt/sources.list
deb http://deb.debian.org/debian buster main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free

特点: 不支持多 URI 或多架构的分组配置 Key 管理相对混乱(容易全部信任 /etc/apt/trusted.gpg

新版(APT ≥2.1)

使用结构化格式,类似 key: value,更易于自动化脚本处理:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://deb.debian.org/debian/
Suites: bookworm
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: http://security.debian.org/debian-security/
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

特点:

更安全:Signed-By 单独定义 key 路径

更灵活:可在一个 stanza(配置段)中指定多个 URI、多架构支持

易扩展:适合工具/脚本自动管理源配置

4. 路径层级变化总结
项目旧版路径新版路径说明
主配置/etc/apt/sources.list/etc/apt/sources.list.d/debian.sources默认配置转移到了 .sources
额外配置/etc/apt/sources.list.d/*.list/etc/apt/sources.list.d/*.sources扩展配置也从 .list 迁移到 .sources
密钥文件/etc/apt/trusted.gpg/usr/share/keyrings/*.gpg每个源有独立 key,更安全
Pinning 策略/etc/apt/preferences*/etc/apt/preferences*这部分路径没变
5. 常见命令差异

|场景|旧版 (≤2.1)|新版 (≥2.1)| |查看 apt 版本|apt --version|apt --version| |添加源|手动编辑 /etc/apt/sources.list|用 add-apt-repository 或直接写 .sources| |备份主配置|cp /etc/apt/sources.list ...|cp /etc/apt/sources.list.d/debian.sources ...| |恢复默认配置|复制 sources.list 样例|复制 /usr/share/doc/apt/examples/sources.list.sources|

6. 如何判断当前格式

执行:

1
ls /etc/apt/sources.list.d/

如果是 .list 文件:旧格式

如果是 .sources 文件:新格式

或者检查 apt 版本:

1
apt --version

APT ≥2.1 默认支持 .sources 格式。

7. 迁移建议

如果你想保持 现代配置管理,继续使用 .sources 格式

如果脚本或习惯还依赖旧格式,可以用:

1
apt edit-sources

自动转换旧格式到 .sources