经过两年多的精心打造,Debian 13(Trixie)终于来了——它包含了大量新功能和改进。毫不奇怪,许多Debian 12用户已经迫不及待地想要升级到这个最新的稳定版本。
如果您也是这样,那我有个好消息要告诉您——您来对地方了。虽然升级过程非常简单,但最好还是以安全的方式进行——按照正确的步骤、正确的顺序,并在正确的指导下进行。而这正是本文的目的。
小编将引导您完成从 Debian 12(Bookworm)升级到 Debian 13(Trixie)的过程,涵盖成功完成此主要版本转换的所有关键点。
当然,完成任务所需的时间取决于您安装的软件包数量以及硬件配置。但大多数情况下,整个过程通常需要 30 到 60 分钟。
毋庸置疑,您下面看到的所有内容都经过了我们实验室的测试,并被证明有效。和往常一样,我们的目标很简单——让您尽可能顺利、轻松地升级到 Trixie。所以,让我们一起行动吧!
步骤1:进行系统备份
首先,确保所有重要数据都安全无虞。在执行任何其他操作之前,我强烈建议您使用熟悉的系统快照工具完整备份 Bookworm 安装。
因此,如果出现问题,您可以将其恢复到以前的状态,并保留所有重要数据。
但是,如果您不想采用上述方法,则可以使用如下所示的命令,该命令会将所有更重要的目录及其内容存档在 tar.gz 存档中。
sudo tar czf /bookworm.tar.gz \
--exclude=/bookworm.tar.gz \
--exclude=/dev \
--exclude=/run \
--exclude=/mnt \
--exclude=/proc \
--exclude=/sys \
--exclude=/tmp \
--exclude=/media \
--exclude=/lost+found \
/
代码语言: Bash (bash )
如果需要,可以添加更多“ –exclude= ”参数。最后,该命令会为位于根分区 (/) 的“ bookworm.tar.gz ”文件中的所有文件创建备份,您最好将其传输到另一台计算机或驱动器,例如, 使用 SCP 命令。
第 2 步:更新所有软件
确保您的 Debian 12 系统已完全更新。运行以下三个命令,确保没有软件包正在等待更新。如果有,请在继续操作之前应用它们。
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
代码语言: Bash (bash )
接下来,我建议清除所有剩余的包并重新启动系统。
sudo apt --purge autoremove
sudo reboot
代码语言: Bash (bash )
最后,你需要获得 Debian 12 系列的完整更新版本——在撰写本文时,版本号为 12.11。你可以运行以下命令快速检查。
cat /etc/debian_version
代码语言: Bash (bash )

确保您拥有完全更新的 Debian 12 系统。
以下是我们升级到 Debian 13(Trixie)之前当前完全更新的 Debian 12(Bookworm)系统。

在开始升级到 Debian 13 之前,请先使用 Debian 12。
步骤3:检查已安装的非Debian软件包
在继续升级到 Trixie 之前,按照最佳实践,我们将检查系统上当前安装的任何其他软件包是否来自官方 Debian 12 存储库之外。
我们这样做是因为,随着时间的推移,我们可能在 Debian 12 系统上安装了不是来自官方 Debian 存储库的额外服务器或客户端软件 – 例如 Google Chrome、VirtualBox 等等。
在这种情况下,这可能会在升级到 Debian 13 时引起复杂情况,因为这些外部存储库可能尚未设置为与 Trixie 版本一起使用。
sudo apt list '?narrow(?installed, ?not(?origin(Debian)))'
代码语言: PHP (php )

检查非 Debian 存储库中已安装的软件包。
如你所见,检查结果显示我们安装的 Docker 和 Google Chrome 软件包来自非 Debian 仓库。那么在这种情况下我们该怎么办呢?
我最好的建议是,如果安装的软件对您的需求并不重要,请在成功升级到 Debian 13 后将其卸载并重新安装,以避免出现问题。
但是,在这种情况下,有了 Docker 和 Google Chrome,由于该软件来自经过验证的公司,并且立即使其软件与 Debian 13 兼容,因此我们将继续升级到 Trixie 而不会将其删除。
此外,检查一下那些由于某种原因你指定不更新的软件包。你可以运行以下命令来执行此操作:
sudo apt-mark showhold
代码语言: Bash (bash )
如果命令返回空输出,则可以继续。但是,如果您获取的是软件包名称列表,则必须允许它们更新,就像每次手动执行一样:
sudo apt-mark unhold package_name
代码语言: Bash (bash )
最后,如果您使用 Debian backports 存储库,bookworm-backports 中的软件包的版本号低于 Trixie 中的软件包,因此它们应该像常规 Bookworm 软件包一样在发行版升级期间升级。
步骤4:修改软件源文件
Debian 软件仓库定义在“ /etc/apt/sources.list ”文件和“ /etc/apt/sources.list.d/ ”目录中。升级之前,您必须更新它们以指向 Debian 13 (Trixie) 仓库。
不过,在执行此操作之前,最好先备份当前软件仓库的配置文件。这样做是为了防止下面的命令出现问题,以便我们在需要时轻松恢复原始文件。
mkdir ~/apt
cp /etc/apt/sources.list ~/apt
cp -r /etc/apt/sources.list.d/ ~/apt
代码语言: Bash (bash )
现在,让我们将当前的 Debian 12(Bookworm)存储库更新为 Debian 13(Trixie)存储库。
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*
代码语言: Bash (bash )
上述命令将在软件仓库文件中将“ bookworm ”关键字替换为“ trixie ”。更改完成后,“ /etc/apt/sources.list ”文件的最终版本应如下所示:
deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware
代码语言: Bash (bash )

Debian 13 的 sources.list 文件。
步骤 5:执行初始最小升级
此时,您的 Debian 12 系统已准备好升级到 Debian 13。第一步是更新存储库,以便系统识别新添加的 repo URL。
sudo apt update
代码语言: Bash (bash )

等待更新的包。
命令运行完成后,你会发现很多软件包(在本例中超过 1,300 个)已准备好更新。这很好,我们可以继续了。
根据 Debian 官方文档,处理升级的推荐方法是将其分为两个独立的步骤。
- 最小系统升级
- 全面系统升级
那么,让我们继续第一步,告诉 APT 将所有当前安装的软件包升级到最新可用版本——但不会安装任何系统上尚未安装的全新软件包。此选项对于更安全、更精简的更新非常有用。
sudo apt upgrade --without-new-pkgs
代码语言: Bash (bash )

Debian 13 最小升级。
只需按下“ Enter ”并留意屏幕——它会显示一些升级软件包的重要信息。阅读后按“ q ”退出寻呼机并继续升级。

有关任何更新包的重要信息。
此外,升级过程会在未经询问的情况下提示是否允许重启服务。选择“是”并按“ Enter ”。

接受自动重启的服务。
请耐心等待。在此过程中,系统可能会询问您要如何处理某个配置文件,因为您更改了该文件的内容,导致其不再符合更新包中的预期内容。如果您不确定该怎么做,请按“ Enter ”键选择默认设置继续升级。
步骤 6:从 Debian 12(Bookworm)升级到 Debian 13(Trixie)
最小系统升级完成后,运行以下命令开始完整升级。
sudo apt full-upgrade
代码语言: Bash (bash )
您将看到一长串即将更新的软件包。按下“ Enter ”,然后再次关注屏幕,阅读通知,并执行升级过程所需的必要操作。

执行到 Debian 13 的完整升级。
该命令将升级所有软件包、安装新的依赖项,并在必要时删除软件包以完成升级。所以,请耐心等待——这还需要一点时间。一切完成后,请重启系统。
sudo reboot
代码语言: Bash (bash )

更新完成后,继续并重新启动系统。
就这样。您的系统已成功从 12 (Bookworm) 升级到 13 (Trixie)。登录并享用您新升级的 Debian 系统吧。

系统已成功从 Debian 12(Bookworm)升级到 Debian 13(Trixie)。
安装后步骤
最后一步——是时候清理剩余的 Debian 12 软件包了,因为我们不再需要它们了。系统会要求你确认删除——只需输入“ y ”即可继续。
sudo apt --purge autoremove
代码语言: Bash (bash )

删除过时的软件包。
最后,从本地 APT 缓存中删除过时的包文件。
sudo apt autoclean
代码语言: Bash (bash )
结论
如您所见,只要按照正确的步骤操作,从 Debian 12(Bookworm)升级到 Debian 13(Trixie)非常简单。升级完成后,请验证所有服务是否正常运行,以及应用程序是否按预期运行。