Debian 11(bullseye)→ Debian 13(trixie)分步升级指南

核心原则:必须分两阶段逐步升级(11→12→13),严禁跨版本直接升级,否则极易导致系统依赖崩溃。以下是完整可执行步骤,建议在控制台无图形界面环境操作,并预留充足时间与磁盘空间。

一、升级前准备(关键!)

  1. 全量备份数据与配置

    # 备份重要目录(示例)
    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)或磁盘镜像备份。

  1. 检查系统状态,清理包环境

    # 切换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缓存
  2. 检查磁盘空间与网络

    df -h  # /分区建议预留≥10GB可用空间
    ping deb.debian.org -c 3  # 确保网络连通
  3. 重启系统,进入单用户/控制台模式(可选但推荐)

    reboot
    # 启动时选择单用户模式,或登录后关闭图形界面(systemctl stop gdm3/lightdm)

二、第一阶段:Debian 11 → Debian 12(bookworm)

  1. 修改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
  2. 执行11→12升级

    apt update
    # 先最小升级(仅更新包,不安装/删除新包)
    apt upgrade --without-new-pkgs -y
    # 完整升级(处理依赖、内核替换、包移除)
    apt full-upgrade -y
    • 关键提示:升级中会出现配置文件冲突,按提示选择:

      • 保留本地修改:选 NO(Own)
      • 覆盖为新版本:选 YZ(Zap)
      • 建议对系统核心配置(如 /etc/sudoers)保留本地版本。
  3. 清理并重启,验证版本

    apt --purge autoremove -y
    apt clean
    reboot
    # 验证版本(应为12.x)
    cat /etc/debian_version
    lsb_release -a

三、第二阶段:Debian 12 → Debian 13(trixie)

  1. 再次清理包环境,确保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
  2. 修改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
  3. 执行12→13升级

    apt update
    apt upgrade --without-new-pkgs -y
    apt full-upgrade -y  # 同样处理配置文件冲突
  4. 最终清理与重启,验证目标版本

    apt --purge autoremove -y
    apt clean
    reboot
    # 验证Debian 13
    cat /etc/debian_version  # 输出13.x
    lsb_release -a
    uname -r  # 确认内核已升级为trixie版本

四、常见问题与修复

  1. 第三方源冲突:升级前注释 /etc/apt/sources.list.d/ 下的第三方源,升级完成后再按需恢复。
  2. 内核启动失败:重启时在GRUB菜单选择旧内核,检查新内核依赖并重新安装:

    apt install linux-image-amd64 linux-headers-amd64 -y
    update-grub
  3. 服务无法启动:查看日志 journalctl -u [服务名],检查配置文件是否因升级被重置,或依赖包缺失。

五、后续优化建议

  1. 检查并重新配置必要的服务(如Nginx、MariaDB、PHP等)
  2. 启用自动安全更新:apt install unattended-upgrades
  3. 定期备份系统与数据,避免版本升级导致的数据丢失

标签: debian, Debian 13, Debian 11, Debian 12, bullseye, trixie, 升级

添加新评论