如何将 Debian 9 Stretch 升级到 Debian 10 Buster

经过两年多的开发,新的 Debian 稳定版本 Debian 10 代号为 Buster ,于 2019 年 7 月 6 日发布,并将支持5年。

此版本附带了许多新软件包和主要软件升级。 Debian 10 buster 附带 Linux 4.19 LTS 内核,使用 nftables 框架作为默认的 iptables 后端,支持 UEFI 安全启动并默认启用 AppArmor 。

在本教程中,我们将向您展示如何将 Debian 9 Stretch 系统升级到 Debian 10 Buster 。

先决条件

必须以超级用户权限运行升级操作。您需要以 root  用户或具有 sudo 权限的用户身份登录。

备份您的数据

首先,请确保在开始主要升级操作系统之前备份数据。如果您在虚拟机上运行 Debian ,最好采用完整的系统快照,以便在更新过程中轻松恢复您的计算机。

更新当前安装的软件包

在开始版本升级之前,建议将所有当前安装的软件包更新到其最新版本。

标记为阻止的程序包无法自动安装,升级或删除。这可能会在升级过程中导致问题。要检查系统上是否存在阻止包:

sudo apt-mark showhold

如果有 onhold 软件包,您应该要么不使用此软件包,要么运行 sudo apt-mark unhold package_name 确保软件包不会干扰升级过程。

刷新包索引并升级所有已安装的包:

sudo apt update
sudo apt upgrade

运行 apt full-upgrade 将执行已安装软件包的主要版本升级,并可能删除一些不必要的软件包:

sudo apt full-upgrade

删除任何包不再需要的所有自动安装的依赖项:

sudo apt autoremove

将 Debian 9 Stretch 升级到 Debian 10 Buster

第一步是重新配置 APT 的源列表文件。

要做到这一点,你既可以使用你的文本编辑器编辑该 /etc/apt/sources.list 文件,也可以使用下面的 sed 命令用 buster 替换每个 stretch。如果您在 /etc/apt/sources.list.d 目录下有其他源列表文件,则必须更新这些源。

sudo nano /etc/apt/sources.list

/etc/apt/sources.list

deb http://deb.debian.org/debian buster main
deb http://deb.debian.org/debian buster-updates main
deb http://security.debian.org/debian-security buster/updates main

另外,您也可以使用下面的 sed 命令,用 buster 替换 stretch 到所有源列表文件:

sudo sed -i 's/stretch/buster/g' /etc/apt/sources.listsudo sed -i 's/stretch/buster/g' /etc/apt/sources.list.d/*.list

完成后,更新包索引:

sudo apt update

如果存在与第三方存储库相关的任何错误或警告消息,请尝试解决该问题或禁用存储库。

通过升级已安装的软件包来启动系统升级。这将仅升级那些不需要安装或删除任何其他软件包的软件包:

sudo apt upgrade

系统将询问您是否希望在升级期间自动重新启动服务。

Restart services during package upgrades without asking?  

在升级过程中,您可能还会被问到其他各种问题,例如您是要保留现有配置文件还是安装软件包维护者的版本。如果您没有对文件进行任何自定义更改,则应安全地键入 Y,否则输入 N 以保持当前配置。

升级可能需要一些时间,具体取决于更新次数和 Internet 速度。

接下来,执行 apt full-upgrade 将执行系统的完整升级,安装最新版本的软件包,并解决不同版本中软件包之间的依赖关系更改。这将升级未使用上一个命令升级的所有软件包。

sudo apt full-upgrade

上面的命令可能会安装一些新软件包并删除冲突和过时的软件包。

完成后,使用以下方法清理不必要的包:

sudo apt autoremove

最后,通过键入以下内容重新启动计算机以激活新内核:

sudo systemctl reboot

确认升级

等待一会儿,直到系统启动并登录。

登录后,您将收到以下消息:

Linux stretch 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64
...

您还可以使用以下命令检查 Debian 版本

lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

就是这样,你现在可以享受你的新 Debian 10 Buster 了。

结论

在大多数情况下,从 Debian 9 Stretch 升级到 Debian 10 Buster 应该相对容易和轻松。

如果您遇到任何错误,请访问 Debian 9 (stretch) 升级页面,其中包含升级到 Debian 10 Buster 期间可能发生的已知问题。