Debian 11(bullseye)→ Debian 13(trixie)分步升级
Debian 11(bullseye)→ Debian 13(trixie)分步升级指南
核心原则:必须分两阶段逐步升级(11→12→13),严禁跨版本直接升级,否则极易导致系统依赖崩溃。以下是完整可执行步骤,建议在控制台或无图形界面环境操作,并预留充足时间与磁盘空间。
一、升级前准备(关键!)
全量备份数据与配置
# 备份重要目录(示例) sudo tar -czvf /backup/home_$(date +%Y%m%d).tar.gz /home sudo tar -czvf /backup/etc_$(date +%Y%m%d).tar.gz /etc # 备份APT源配置 mkdir -p ~/apt-backup sudo cp /etc/apt/sources.list ~/apt-backup sudo cp -r /etc/apt/sources.list.d/ ~/apt-backup生产环境建议使用快照(VM)或磁盘镜像备份。
检查系统状态,清理包环境
# 切换root(避免sudo重复输入) su - # 检查并解除包锁定(有锁定会导致升级失败) apt-mark showhold | grep -v "^$" && apt-mark unhold $(apt-mark showhold) # 更新11系统至最新版本 apt update && apt upgrade -y apt full-upgrade -y # 处理依赖与内核升级 apt --purge autoremove -y # 清理无用包 apt clean # 清空APT缓存检查磁盘空间与网络
df -h # /分区建议预留≥10GB可用空间 ping deb.debian.org -c 3 # 确保网络连通重启系统,进入单用户/控制台模式(可选但推荐)
reboot # 启动时选择单用户模式,或登录后关闭图形界面(systemctl stop gdm3/lightdm)
二、第一阶段:Debian 11 → Debian 12(bookworm)
修改APT源为bookworm
# 替换bullseye为bookworm(覆盖主配置与子目录) sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list # 可选:统一使用官方源(注释第三方源,避免冲突) echo "deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list echo "deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list执行11→12升级
apt update # 先最小升级(仅更新包,不安装/删除新包) apt upgrade --without-new-pkgs -y # 完整升级(处理依赖、内核替换、包移除) apt full-upgrade -y关键提示:升级中会出现配置文件冲突,按提示选择:
- 保留本地修改:选
N或O(Own) - 覆盖为新版本:选
Y或Z(Zap) - 建议对系统核心配置(如
/etc/sudoers)保留本地版本。
- 保留本地修改:选
清理并重启,验证版本
apt --purge autoremove -y apt clean reboot # 验证版本(应为12.x) cat /etc/debian_version lsb_release -a
三、第二阶段:Debian 12 → Debian 13(trixie)
再次清理包环境,确保12系统最新
su - apt-mark showhold | grep -v "^$" && apt-mark unhold $(apt-mark showhold) apt update && apt upgrade -y apt full-upgrade -y apt --purge autoremove -y apt clean修改APT源为trixie
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.list # 统一官方源示例 echo "deb http://deb.debian.org/debian trixie main contrib non-free non-free-firmware" > /etc/apt/sources.list echo "deb http://security.debian.org/debian-security trixie-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list执行12→13升级
apt update apt upgrade --without-new-pkgs -y apt full-upgrade -y # 同样处理配置文件冲突最终清理与重启,验证目标版本
apt --purge autoremove -y apt clean reboot # 验证Debian 13 cat /etc/debian_version # 输出13.x lsb_release -a uname -r # 确认内核已升级为trixie版本
四、常见问题与修复
- 第三方源冲突:升级前注释
/etc/apt/sources.list.d/下的第三方源,升级完成后再按需恢复。 内核启动失败:重启时在GRUB菜单选择旧内核,检查新内核依赖并重新安装:
apt install linux-image-amd64 linux-headers-amd64 -y update-grub- 服务无法启动:查看日志
journalctl -u [服务名],检查配置文件是否因升级被重置,或依赖包缺失。
五、后续优化建议
- 检查并重新配置必要的服务(如Nginx、MariaDB、PHP等)
- 启用自动安全更新:
apt install unattended-upgrades - 定期备份系统与数据,避免版本升级导致的数据丢失