从 Debian 11 (Bullseye) 无缝升级到 Debian 12 (Bookworm):极简操作指南
Debian 12 (Bookworm) 已经发布! 是时候将您的 Debian 11 (Bullseye) 系统升级到这个最新版本了。 这篇文章将引导您完成一个尽可能减少人为干预的升级过程。 虽然自动化程度很高,但请务必阅读每个步骤,并在必要时进行调整。
重要提示:
- 备份!备份!备份! 在开始之前,请务必备份您的重要数据。 升级过程中可能会出现意外情况,数据丢失的风险始终存在。 使用
rsync
、tar
或任何您喜欢的备份方法。 - 阅读发行说明! Debian 12 的发行说明包含了关于已知问题、不兼容性和升级注意事项的重要信息。 花时间阅读并理解它们:https://www.debian.org/releases/bookworm/releasenotes
- 稳定网络: 确保在升级过程中有稳定的网络连接。
- 耐心: 升级过程可能需要一段时间,具体取决于您的硬件和网络速度。 请耐心等待,不要中断升级过程。
- 在
screen
或tmux
中运行: 避免因终端断开连接而导致升级中断,建议在screen
或tmux
会话中执行升级。
步骤 1:准备系统
首先,确保您的 Debian 11 系统是最新的:
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
sudo apt autoclean -y
sudo reboot
apt update
: 更新可用软件包列表。apt upgrade -y
: 升级所有可升级的软件包,但不移除或安装新的软件包 (-y
自动确认所有提示)。apt dist-upgrade -y
: 执行完整的升级,可以移除或安装新的软件包以解决依赖关系 (-y
自动确认)。apt autoremove -y
: 移除不再被任何软件包依赖的软件包 (-y
自动确认)。apt autoclean -y
: 清理已下载的软件包文件,释放磁盘空间。reboot
: 重启系统以确保所有内核更新已生效。
步骤 2:更新 APT 源列表
接下来,使用 sed
命令自动更新 APT 源列表文件,将其指向 Debian 12 (Bookworm) 的仓库:
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/bullseye-security/bookworm-security/g' /etc/apt/sources.list
sudo sed -i 's/bullseye-updates/bookworm-updates/g' /etc/apt/sources.list
sudo sed -i 's/bullseye-backports/bookworm-backports/g' /etc/apt/sources.list # 如果你使用了 backports
- 这些
sed
命令使用替换功能,将bullseye
替换为bookworm
,以及相应的-security
和-updates
后缀。 -i
选项直接修改文件。- 备份(可选但推荐): 如果你希望更安全,可以先备份
/etc/apt/sources.list
文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
步骤 3:执行升级
现在,更新 APT 缓存并开始升级过程。 这里我们将使用 -y
标志自动确认所有提示,尽量减少人为干预。 请仔细监控此过程,以确保没有错误或警告。
sudo apt update
sudo apt upgrade --without-new-pkgs -y
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt autoclean -y
sudo reboot
apt update
: 更新可用软件包列表,基于新的源列表。apt upgrade --without-new-pkgs -y
: 升级所有可升级的软件包,但不安装新的软件包 (-y
自动确认)。apt full-upgrade -y
: 执行完整的升级,可以移除或安装新的软件包以解决依赖关系 (-y
自动确认)。apt autoremove -y
: 移除不再需要的依赖 (-y
自动确认)。apt autoclean -y
: 清理软件包缓存 (-y
自动确认)。reboot
: 重启系统。
步骤 4:验证升级
重启后,验证您是否成功升级到 Debian 12:
cat /etc/debian_version
lsb_release -a
输出应该类似于 12.x
和显示 Debian 12 (Bookworm)。
步骤 5:善后处理 (可选)
- 检查 systemd 服务: 运行
systemctl --failed
来检查是否有任何 systemd 服务启动失败。 - 查看日志文件: 检查
/var/log/syslog
和/var/log/daemon.log
文件,以查找任何错误或警告。 - 删除旧内核: 运行
dpkg --list | grep linux-image
列出已安装的内核。 如果有旧内核,可以安全地删除它们(确保你保留当前使用的内核)。
故障排除
- 依赖关系问题: 如果在升级过程中遇到依赖关系问题,可以尝试使用
sudo apt --fix-broken install -y
命令来解决。 - 软件包冲突: 如果遇到软件包冲突,请仔细阅读错误消息,并尝试手动解决冲突。
- 配置提示: 升级过程中可能会提示您配置某些软件包。 仔细阅读提示,并根据您的需要进行选择。 通常,选择 "保持当前版本" 是一个安全的选项,如果您不确定。
重要注意事项:
- 此过程旨在减少人为干预,但并非完全无人值守。 请务必监控升级过程,并根据需要进行调整。
- 如果您有定制化的环境或特殊的配置,可能需要采取额外的步骤。
- 如果遇到问题,请查阅 Debian 12 的发行说明,并在 Debian 社区寻求帮助。
希望这篇博客文章能帮助你顺利地将 Debian 11 升级到 Debian 12! 祝您升级顺利!