如何将 Debian 8 Jessie 升级到 Debian 9 Stretch

Debian 9 Stretch 今天作为 Linux Debian 操作系统的最新稳定版本发布。
虽然我们可以全新安装 Debian 9 Stretch,但我们也可以轻松地从 Debian 8 Jessie 执行就地升级,这就是我们将在此处介绍的内容。

说明:

  • 仅支持从 Debian 8 Jessie 升级到 Debian 9 Stretch。如果我们运行的版本早于 8,则必须先升级到 8,然后才能完成此过程。
  • 升级涉及内核更新,因此在过程结束时需要重新启动。
  • 强烈建议我们在继续升级之前进行完整的系统备份或者任何重要数据的备份,确保我们有回滚计划。如果是虚拟机,请在启动前拍摄快照。

升级到 Debian 9 Stretch

在本例中,我们将从 Debian 8.8 升级。

jack@onitroad:~# cat /etc/debian_version
8.8

在继续升级之前,请通读升级到 Stretch 时要注意的问题列表。

  • 建议我们在开始之前让 Debian 8 Jessie 安装完全最新,为此运行“apt-get update”,然后运行“apt-get upgrade”并安装可用更新。
jack@onitroad:~# apt-get update
jack@onitroad:~# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

就我而言,所有更新都已应用,因此可以继续。

  • 编辑 /etc/apt/sources.list 文件,我的文件如下所示。如我们所见,所有行当前都指定了“jessie”。请注意,镜像源可能会有所不同,这很好。
deb http://debian.uberglobalmirror.com/debian/ jessie main
deb-src http://debian.uberglobalmirror.com/debian/ jessie main
deb http://security.debian.org/ jessie/updates main contrib
deb-src http://security.debian.org/ jessie/updates main contrib
# jessie-updates, previously known as 'volatile'
deb http://debian.uberglobalmirror.com/debian/ jessie-updates main contrib
deb-src http://debian.uberglobalmirror.com/debian/ jessie-updates main contrib

将“jessie”的实例更改为“stretch”,我们可以手动执行此操作,也可以使用以下 sed 命令自动执行此操作。

sed -i 's/jessie/stretch/g' /etc/apt/sources.list

我的新sources.list 文件如下所示。

deb http://debian.uberglobalmirror.com/debian/ stretch main
deb-src http://debian.uberglobalmirror.com/debian/ stretch main
deb http://security.debian.org/ stretch/updates main contrib
deb-src http://security.debian.org/ stretch/updates main contrib
# stretch-updates, previously known as 'volatile'
deb http://debian.uberglobalmirror.com/debian/ stretch-updates main contrib
deb-src http://debian.uberglobalmirror.com/debian/ stretch-updates main contrib

我们可以使用“stretch”或者“stable”,因为在撰写本文时,Debian 9 Stretch 现在是当前的稳定版本。但是请注意,如果我们使用稳定版而不是特定的发行版名称,那么将来 Debian 10 发布时,这将是稳定版,因此我们可能会无意中升级到该版本。

  • 升级 Debian 的推荐方法是使用“apt-get”命令。首先使用以下命令更新可用包列表,因为我们刚刚更新了 sources.list 文件。
apt-get update
  • 现在可用软件包列表已从镜像更新,运行以下命令以执行最小升级。
apt-get upgrade

这被称为最小系统升级,因为它只升级可以升级的软件包,而无需删除或者安装任何其他软件包,因此这是一个安全的起点。这升级了 932 个软件包,在我的系统上需要 412MB。

  • 现在我们已准备好进行完整的系统升级,这将升级到所有已安装软件包的最新可用版本。
apt-get dist-upgrade

确保我们有足够的可用磁盘空间来完成操作,就我而言,它指出之后 1,048MB 的另外磁盘空间将用于 639 个软件包升级和 479 个新安装的软件包。
请注意,这将删除冲突的过时包,可能是我们可能想要保留的包,因此在继续之前通过阅读输出来检查它将要做什么。

  • 升级完成后,我们可能有可以删除且不再需要的软件包,我们将在尝试使用 apt-get upgrade 时看到这些。我们可以通过运行“apt-get autoremove”来清除它们。
apt-get autoremove

这从我的系统中清除了 496MB 的软件包,这些软件包在升级后不再需要。

  • 剩下要做的就是重新启动系统,这是必需的,因为内核版本已经更新。这可以通过在终端中简单地输入“reboot”来完成。
Before upgrade:
jack@onitroad:~# uname -a
Linux debian8 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2015-04-30) x86_64 GNU/Linux
After upgrade and system reboot:
jack@onitroad:~# uname -a
Linux debian8 4.9.0.3-amd64 #1 SMP Debian 4.9.30-2 (2015-06-12) x86_64 GNU/Linux

正如我们所看到的,重新启动后,新的内核版本 4.9 现在就位。
我们还可以检查 /etc/debian_version 文件以确认我们使用的是版本 9.

jack@onitroad:~# cat /etc/debian_version
9.0
日期:2020-07-07 20:56:38 来源:oir作者:oir