Apt
1. 版本分界
| 阶段 | 版本范围 | 所属Debian版本 | 特点 |
|---|---|---|---|
| 旧版 | APT ≤ 2.1 | Debian 10 (Buster) 及更早 | 传统 sources.list 格式 |
| 新版 | APT ≥ 2.1 | Debian 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)
每一行就是一个源,格式简洁但不够灵活:
# /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,更易于自动化脚本处理:
# /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. 如何判断当前格式
执行:
ls /etc/apt/sources.list.d/如果是 .list 文件:旧格式
如果是 .sources 文件:新格式
或者检查 apt 版本:
apt --versionAPT ≥2.1 默认支持 .sources 格式。
7. 迁移建议
如果你想保持 现代配置管理,继续使用 .sources 格式
如果脚本或习惯还依赖旧格式,可以用:
apt edit-sources自动转换旧格式到 .sources