本文将介绍如何远程升级 Debian 11 Bullseye 到最新的稳定版 Debian 12 Bookworm。本升级流程简单、快速,适用于绝大部分运行在 公有云 上的主机实例。
在升级之前,建议妥善备份重要的数据,InfraPub 有一个简单的备份策略,只需要一个文件列表即可实现快速备份,供参考:
创建一个文件,记录需要备份的文件及目录,注意使用绝对路径;
#cat /root/backup.list /etc/mysql /etc/nginx /var/lib/mysql /var/www #随后使用一条命令即可备份: tar czvf /tmp/backup.tgz --files-from /root/backup.list #稳妥期间,备份时把数据库类的服务停一下。
下面,我们开始 Debian 系统到 Bookworm 的升级,升级过程和我们此前发布的 Debian 10 升级基本一致。以下操作需要在 root 用户下完成,可使用 sudo su - 或 sudo -i
切换到 root 下进行后续操作。
准备工作
在升级前,我们需要把当前的系统升级到 Bullseye 的最新稳定版,减少后续的大版本升级期间的故障概率,
apt update && apt upgrade -y apt dist-upgrade apt autoremove -y
这一步完成后,我们重启一次系统,让这次的变动生效,也可以直接进行后续的升级。
升级操作系统
更新 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 update apt upgrade -y apt dist-upgrade -y
更新过程种会提示一些软件是否需要自动重启,选 Yes 即可,以及一些软件的配置文件是否需要更新,按照自己的情况选择即可,默认回车即视为使用旧的配置文件,一般会出现在 OpenSSH 等软件的更新上。
在 apt-listchanges: News
界面可以按 q
退出:
提示是否自动重启服务,使用 Tab 和 回车键控制即可,
应用的配置文件,一般选这一项即可,默认可直接按 “回车” 进入下一步,
注意某些软件更新后可能会更新 systemd
服务配置,此时我们可以执行 systemctl daemon-reload
重新加载配置。
更新后删除不必要的软件和依赖:
apt autoclean apt autoremove -y
然后我们使用 reboot
命令重启系统,耐心等待后,查看最新的系统版本:
root@debian ~ # cat /etc/debian_version
12.2
root@deb:/tmp# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
root@deb:/tmp# uname -a
Linux deb.infras.cn 6.1.0-14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) x86_64 GNU/Linux
这时我们就已经完成到最新的 Debian 12 Bookworm 的更新。
对了,上面第一段中快速备份时生成的文件 /tmp/backup.tgz 记得下载一份到本地电脑,或者拷贝远程服务器上(Doge)。以免系统升级过程中出现未知错误,导致启动失败,当然这个概率比较低。
文章末尾固定信息