从 Debian 10 升级到 Debian 11 Bullseye 实操教程

前言

Debian 11 (bullseye) 经过两年的等待终于正式发布稳定版本了,带来了很多更新的内核,更新的软件包以及其他新特性:

Debian 11 删除剩余的 Qt4/KDE 4 库和 Python 2。早在今年 1 月 12 日就开始第一次过渡冻结(transition freeze),为 Debian 11 的发布做好准备,经过 soft freeze 和 hard freeze 之后,上个月 17 号进行了完全冻结(full freeze),Debian 开发人员正在为这个主要的 Debian GNU/Linux 发行版进行最后的准备。

Debian 11 将使用 Linux 5.10 LTS 内核。同时也带来了比上一版本 buster 更多的软件,本次发行包括 11294 个新软件包,软件包的总数达到了 59551 个,这个发行版的 42821 个软件包包得到了更新(占 buster 软件包总数的 72%)。

以下是 Debian 11 的一些亮点:

  • 新的控制组 v2;
  • 持久化 systemd 日志;
  • 支持 exFAT 文件系统;
  • 默认使用 yescrypt 密码散列;
  • 将 GCC 10.2 作为默认编译器(此前是 GCC 8.3)、LLVM Clang 11.0(此前是 Clang 7.0)以及许多其他更新;
  • 新的通用 open 命令;
  • 桌面系统支持 LibreOffice 7.0;
  • 无驱动扫描和打印。

这里我在一台 VPS 上详细演示一下如何使用 apt 或者 apt-get 命令安全的将 Debian 10 (buster) 升级到 Debian 11 (bullseye)。如果你需要通过 CD-ROM/DVD-ROM、U 盘或者硬盘安装,可以参考官方的安装手册

如果你想从 Debian 9 或者更旧的版本升级到 Debian 11,请先根据文档,升级到最新的 Debian 10 后再继续操作。

以下所有操作需要以 sudo 权限用户或者 root 用户执行。完整的安装指南可以参考官方的发行手册

教程

升级有风险,请提前备份数据;同时由于刚发布,不保证现有软件环境能正常运行,生产环境请谨慎升级。

切到 root (sudo -i), 执行下面的命令:

apt update -y && apt upgrade -y; sed -i 's/buster/bullseye/g' /etc/apt/sources.list; sed -i 's/^.* bullseye\/updates .*$//g' /etc/apt/sources.list;
apt update -y && apt upgrade -y && apt full-upgrade -y; apt dist-upgrade -y && apt autoremove -y

执行中, 可能会被询问的问题

  • Continue without installing GRUB? Yes
  • What do you want to do about modified configuration file sshd_config?
    Keep the local version currently installed (如果有问)
  • Restart servuces during package upgrades without asking? Yes;
  • 其他问题, 一般默认回车就行了
  • reboot 重启

最终 /etc/apt/sources.list 看起来是这样(也可以直接改成下面的内容)

deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
deb http://deb.debian.org/debian bullseye-backports main
deb-src http://deb.debian.org/debian bullseye-backports main

验证

查看当前Linux版本

cat /etc/os-release

输出:

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"