从 Debian 11 升级到 Debian 12

如果有必要,可以查阅(Debian 12 发行说明)[https://www.debian.org/releases/stable/releasenotes],内附详细的升级和错误处理指南。

准备工作

一定要备份重要数据!

以下操作需要在 root 用户下完成,请使用 sudo -i 或 su root 切换到 root 用户进行操作

Debian 软件源一般以发行代号如:bullseye、bookworm 引用,但是也可能使用状态名如:stable、unstable、testing 引用。在 Debian 12 稳定版正式发布后,stable 就会从 bullseye 指向 bookworm 了。

检查软件源,确保下面的输出为空,否则请手动更改软件源为 bullseye

cat /etc/apt/sources.list | grep stable

更新 apt 源,替换 bullseye 为 bookworm:

sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list

对于 Debian 12 以后的版本,所有 Debian 可以分发的打包的非自由固件二进制文件(non-free),比如某些驱动,都被转移到 Debian Archive 中的一个新组件,称为非自由固件(non-free-firmware)。如果您从旧版的 Debian 升级,并且需要这些固件二进制文件,您应该更新您系统上的 /etc/apt/sources.list,以使用这个新组件(来源):

sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list

默认的系统 apt 源文件 /etc/apt/sources.list 应该是类似这样的:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware

开始升级

更新软件源

sudo apt update

先进行最小系统升级

sudo apt upgrade --without-new-pkgs

没问题的话开始进行全面升级,会下载好几百 MB 文件,下载速度取决于服务器网络带宽

sudo apt full-upgrade

如果修改过 SSH 配置文件,出现提示时,请选择保留本地配置

更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。

在 apt-listchanges: News 界面可以按 q 退出:

全面升级结束后,重新启动

sudo reboot

更新后删除不必要的软件和依赖:

apt autoclean
apt autoremove -y

查看最新的系统版本:

cat /etc/debian_version
lsb_release -a
uname -a

升级之后

列出已删除的软件包

apt list '~c'

清理已删除的软件包

sudo apt purge '~c'

文章来源:

Author:白菜
link:https://blog.baicai.me/article/2023/upgrading-debian-from-bullseye-to-bookworm/