Debian大版本升级

1、备份当前系统

根目录备份backup.tar.gz文件

 tar czf /backup.tar.gz \
     --exclude=/bookworm.tar.gz \
     --exclude=/dev \
     --exclude=/run \
     --exclude=/mnt \
     --exclude=/proc \
     --exclude=/sys \
     --exclude=/tmp \
     --exclude=/media \
     --exclude=/lost+found \
     /

2、更新所有软件

更新所有软件

apt update
apt upgrade
apt full-upgrade

清理不再需要的残留软件包,并重启系统

apt --purge autoremove
shutdown -r now

查看当前版本状态

cat /etc/debian_version

3、检查已经安装的软件包

列出「已安装」但不来自官方源的软件包

apt list '?narrow(?installed, ?not(?origin(Debian)))'

通常不重要的软件,可以先卸载,等升级成功后再重新安装

检查一下有没有被 hold 住(禁止更新)的包

apt-mark showhold

如果有,就解锁,让它们可以更新

apt-mark unhold <软件包名称>

4、修改 trixie 软件源

Debian大版本升级,比如 12 升级到 13,就要先改成 Trixie 源

先备份当前的源配置,新建目录apt,拷贝备份到apt目录下

mkdir ~/apt
cp /etc/apt/sources.list ~/apt
cp -r /etc/apt/sources.list.d/ ~/apt

把所有的bookworm改成trixie

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

5、执行升级

sudo apt update
# 首先进行最小化升级,这一步可能会处理一些关键的库或系统组件
sudo apt upgrade --without-new-pkgs
# 然后进行完整升级,这会处理所有剩余的软件包,并处理依赖关系变更
sudo apt full-upgrade               

升级时可能会弹出一些重要信息,阅读后按q退出,并继续升级

如果提示是否允许升级时自动重启服务,选择「Yes」后回车。

4、升级后的清理工作

升级完成后,重启系统,并清理不再需要的旧软件包

#重启
reboot
#清理一下不再需要的旧包
apt autoremove
#清空本地 APT 缓存里的旧包文件
apt autoclean