一、升级前准备

备份关键数据优先备份 /etc(配置文件)、/home(用户数据)及数据库等核心内容:

sudo rsync -av /home /mnt/backup 
# 备份用户数据 
sudo tar -cvpzf /mnt/backup/debian11-backup.tar.gz --exclude=/proc --exclude=/sys / 
# 全系统备份(可选)

2、检查系统状态

确认当前版本:

lsb_release -a 
cat /etc/os-release

修复依赖与清理空间:

sudo apt install -f 
# 修复损坏依赖 
df -h 
# 确保至少10GB空闲磁盘空间 
sudo apt autoremove && sudo apt autoclean 
# 清理无用包和缓存

3、禁用第三方源编辑 

/etc/apt/sources.list 和 /etc/apt/sources.list.d/ 下的文件,注释所有非官方源(在行首加 #),避免兼容性冲突。

二、修改软件源为 Debian 12(Bookworm)

编辑 /etc/apt/sources.list,将所有 bullseye 替换为 bookworm:

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

同时,更新安全更新源为:

deb https://deb.debian.org/debian-security bookworm-security main contrib non-free

三、执行系统升级

1、更新软件包列表

sudo apt update

2、执行最小升级(解决依赖冲突)

sudo apt upgrade --without-new-pkgs -y

3、执行完整升级(允许安装 / 移除包)

sudo apt full-upgrade -y

注意:升级过程中若提示配置文件冲突(如 sshd_config、nginx.conf 等),建议先选择 “显示版本差异” 分析变化,再根据需求选择 “保留本地版本” 或 “安装维护者版本”(若本地无关键自定义配置,可优先选维护者版本以适配新系统)。

四、升级后验证与清理

1、重启系统

sudo reboot

2、验证版本

lsb_release -a 
# 应显示 Debian 12 (bookworm) 
uname -r 
# 内核版本应为 6.1 及以上

3、清理残留包与缓存

sudo apt autoremove --purge -y 
# 删除旧内核和无用依赖 sudo apt autoclean # 清理下载缓存

4、检查关键服务

确保 SSH、Web 服务(如 Nginx/Apache)、数据库等正常运行:

sudo systemctl status ssh 
sudo systemctl status nginx 
# 若使用Nginx 
sudo systemctl --failed 
# 查看失败服务

五、注意事项

第三方软件兼容性:升级后需重新安装或验证 Docker、Node.js、Python 等第三方工具的兼容性,可参考官方文档或社区教程。

硬件驱动:Debian 12 内核(6.1)对新硬件支持更好,但老旧硬件可能需要手动安装驱动(如显卡驱动)。

配置文件备份:若有自定义系统配置(如 /etc/sysctl.conf、防火墙规则),建议提前备份,升级后对比恢复。