Debian 12 升级 Debian 13 简单记录
status
Published
type
Post
slug
upgrade-debian-12-to-13-note
date
Aug 10, 2025
tags
Linux
Config
Note
summary
文章记录了从 Debian 12 (Bookworm) 升级到 Debian 13 (Trixie) 的步骤,升级过程包括系统更新、修改软件源(引入 deb822 新格式)、检查磁盘空间、使用 screen 防止中断,并执行 apt full-upgrade 命令。升级后,文章还指出需注意 sysctl 配置文件的变化、/tmp 目录的内存存储特性,以及可选移除 exim4 和 apparmor 软件包。
Debian 项目发布了最新的稳定版本 Debian 13,代号为“trixie”。该版本历经两年多的开发,于 2025 年 8 月 9 日发布。
Debian 作为以稳定著称的 Linux 发行版,大版本升级可以说是其“不稳定”的时刻了,升级需谨慎。稳妥起见,一定要做好备份!
官方的升级注意事项说明:Debian 12 升级 Debian 13 需要注意的 Breaking Change
准备工作
核对当前系统版本


更新系统软件包
sudo apt update sudo apt upgrade -y sudo apt autoclean sudo apt autoremove -y
软件源配置
自 2025 年 2 月起,Debian 13(Trixie)和 APT 引入了 deb822 格式来管理 APT 源。这种新格式用更具结构化和可读性的
/etc/apt/sources.list.d/debian.sources
文件取代了传统的 /etc/apt/sources.list
文件。- 单行格式 (
.list
) :传统格式,所有 APT 版本都支持,但已被弃用,预计在 2029 年后移除。
- deb822 格式 (
.sources
):新版格式,可读性更佳,更易于扩展和修改,已成为推荐格式。Debian 13 正式版及后续版本均使用此格式。
🔍 点击展开查看两种配置格式
传统单行格式:
/etc/apt/sources.list
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian trixie main contrib non-free non-free-firmware deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian trixie-updates main contrib non-free non-free-firmware deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://deb.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
新版 deb822 格式:
/etc/apt/sources.list.d/debian.sources
Types: deb URIs: http://deb.debian.org/debian Suites: trixie trixie-updates Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg Types: deb URIs: http://deb.debian.org/debian-security Suites: trixie-security Components: main contrib non-free non-free-firmware Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
目前短时间内,按照”祖宗之法“用老格式没啥问题。
当然使用新的 deb822 格式软件源配置文件更好,毕竟大势所趋。
可先按照传统格式软件源修改,升级到 Debian 13 后再转换为新的 deb822 格式(参考本文末尾)。
视自身环境实际情况执行如下命令修改 Debian 13 软件源
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list # 要注意之前引入的第三方软件源是否有适配 Debian 13,如无建议不要修改或者暂时禁用 # sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.list # 修改第三方软件源也可执行如下命令 # sudo find /etc/apt/sources.list.d -type f -exec sed -i 's/bookworm/trixie/g' {} \; # 如已使用 deb822 格式软件源,则执行下面的命令 sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.sources
磁盘空间
升级需要预留一定的空闲磁盘空间。
# 查看磁盘空间,(稳妥起见剩余空间大于 5GB 最好,如果仅仅是 Docker 服务的话,1GB 或许也够) df -h sudo apt update # 通过下述命令来预估一下更新的软件包大小,执行结果类似👇的图示 sudo apt -o APT::Get::Trivial-Only=true full-upgrade

如果没有足够的空间进行升级,
apt
将显示类似这样的消息警告:E: You don't have enough free space in /var/cache/apt/archives/.
更新
为避免 SSH 连接中断而影响系统升级,可以通过 screen 来保证执行更新。
sudo apt install -y screen && screen
完成上述准备工作后,即可执行命令升级系统
sudo apt update # 如果磁盘空间紧张,可执行 apt upgrade --without-new-pkgs 进行最小化更新 sudo apt upgrade -y # 版本升级命令 sudo apt full-upgrade -y # 在上述命令升级完成没报错后执行下面的命令,也可以在 reboot 后执行 sudo apt autoclean sudo apt autoremove -y sudo reboot
更新过程中惯例会提示一些软件的配置文件是否需要更新,可视情况保留原样还是覆盖使用,默认是使用现有的配置,一些软件提示是否需要自动重启全都 Yes 即可。
核对版本
sudo cat /etc/debian_version sudo cat /etc/os-release sudo uname -a

以上就完成了 Debian 系统升级。
P.S.
Debian 13 升级杂项
- Debian 13 上
sysctl
由 systemd-sysctl 控制了,原有的/etc/sysctl.conf
配置文件不再生效, 配置需要全部放在/etc/sysctl.d/
目录下
# 恢复原有 sysctl 配置到 /etc/sysctl.d/ 目录 sudo mv /etc/sysctl.conf.dpkg-bak /etc/sysctl.d/99-sysctl.conf # 应用配置生效,代替原来的 sysctl -p 命令,交由 Systemd 控制 sudo systemctl restart systemd-sysctl.service
- Debian 13 上,临时文件目录
/tmp
存储在 tmpfs (存储在内存)中,默认会分配最大内存值最多 50% ,/tmp
和/var/tmp
会定期删除其中的旧文件,前者是 10 天,后者是 30 天。小内存机器可以执行如下命令修改
sudo systemctl edit tmp.mount
- 系统升级到 Debian 13 后,会自动捆绑安装
exim4
邮件服务器,不需要可删除
sudo apt autopurge -y exim*
- 系统升级 Debian 13 后,如出现部分应用无权限或报权限异常,可移除
apparmor
包
sudo apt autopurge -y apparmor
- Debian 13 禁用默认开启的审计日志
sudo systemctl disable --now systemd-journald-audit.socket
转换 APT 软件源配置为 deb822 格式
sudo apt modernize-sources
执行👆这条命令,它会自动将原有的 sources.list 单行格式软件源配置转换为新的 deb822 格式,并将其放入
/etc/apt/sources.list.d/debian.sources
路径下。同时 APT 也会保留原有配置的备份:
/etc/apt/sources.list.bak
方便在出现预期外的问题时恢复更改前状态。
转换完成后:

转换后
trixie-backports
在某些第三方镜像上可能没有 Signed-By。可以通过手动在 /etc/apt/sources.list.d/debian-backports.sources
中设置 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
来修复。