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 发行版,大版本升级可以说是其“不稳定”的时刻了,升级需谨慎。稳妥起见,一定要做好备份!

准备工作

核对当前系统版本

notion image
notion image

更新系统软件包

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
notion image
如果没有足够的空间进行升级, 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
notion image
以上就完成了 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 方便在出现预期外的问题时恢复更改前状态。
notion image
转换完成后:
notion image
转换后 trixie-backports 在某些第三方镜像上可能没有 Signed-By。可以通过手动在 /etc/apt/sources.list.d/debian-backports.sources 中设置 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg 来修复。
 

参考信息