如何将Ubuntu Linux升级到新版本

Ubuntu Server 20.04 LTS 是许多组织可靠稳定的发行版,为关键工作负载提供了必要的支持。但随着技术的发展,需要升级 Ubuntu 到新的发行版以确保系统保持最新和安全。

Ubuntu Server 22.04 LTS 提供了几个新功能和改进,使得这个发行版对于那些希望升级的人来说更具吸引力。在本教程中,您将了解将 Ubuntu Server 20.04 LTS 升级到 22.04 LTS 的步骤。

继续阅读并享受随 Ubuntu 升级而带来的新功能吧!

前提条件

本教程包含实际演示。要跟着做,请确保您拥有一个属于 sudoers 组的帐户。

执行预升级检查

尽管升级通常是安全的,但总有可能出现问题。为了安全起见,在升级Ubuntu系统之前,必须进行预先检查。

为了准备好升级你的Ubuntu系统:

1. 首先,将你的数据安全地复制到一个备份位置,以便在升级过程中出现任何问题或复杂情况时进行恢复。

2. 接下来,检查发行说明,确保没有任何更改会对你当前的系统产生负面影响。

3. 打开终端,并运行下面的df命令来检查你的引导(/boot)和根(/)卷上有多少可用空间。

df -h

确保你有足够的可用空间进行升级。为什么呢?从一个版本升级到另一个版本将下载新的软件包,并替换系统中现有的软件包。这个过程会消耗磁盘空间。

如果在你的/boot分区中没有足够的空间,请跳转到下一步进行清理。否则,直接跳转到第五步。

Checking available disk space

4. 运行以下apt autoremove命令以清理(--purge)旧的内核镜像。

如果您使用个人软件包存档(PPA)或任何其他第三方存储库,则从这些存储库安装的任何软件都不会被移除或降级。从这些存储库安装的软件是升级问题的最常见原因。

sudo apt autoremove --purge
Removing all previous kernel images

5. 最后,运行以下步骤打开UFW防火墙上的端口1022,重新加载防火墙并检查防火墙状态。

如果您通过SSH连接到Ubuntu实例,升级工具将打开另一个SSH端口(1022)作为端口22的备用端口,以防SSH连接中断。

但请记住,在Ubuntu升级后关闭该端口。这样做可确保您避免无意中向系统开放潜在的安全问题。

# 添加防火墙规则以允许端口1022
sudo ufw allow 1022/tcp
# 重新加载防火墙
sudo ufw reload
# 检查防火墙状态
sudo ufw status
Opening port 1022 in the firewall as a fallback

安装update-manager-core软件包

通过预升级检查,下一步是确保升级顺利进行。您必须安装update-manager-core软件包,以便将Ubuntu Server发行版从一个版本升级到另一个版本。

但首先,您必须确保您的系统具有最新的存储库和软件包,方法如下:

1. 运行以下命令执行以下操作:

  • apt update – 更新APT软件包索引,以确保您具有最新的存储库。
  • apt upgrade – 将系统中已安装的软件包升级到其最新版本。
sudo apt update && sudo apt upgrade -y

整个过程可能需要几分钟或更长时间,具体取决于您的Ubuntu Server主机的更新程度。

Updating repositories and upgrading packages

2. 更新后,请运行以下命令以重新启动您的Ubuntu系统。

reboot

3. 最后,在重新启动后运行以下apt install命令以安装update-manager-core包。

sudo apt install update-manager-core
Installing the update manager core package

在Ubuntu上执行升级

安装update-manager-core包后,您最终可以开始升级Ubuntu系统。但您真的需要升级吗?

有些人选择不升级,因为他们对当前的Ubuntu系统感到满意。但问题在于,他们将无法从新版本中获得新功能和改进。

执行Ubuntu升级操作:

1. 运行以下do-release-upgrade命令,检查(-c)Ubuntu服务器是否有新版本。

sudo do-release-upgrade -c

如果有新版本可用,您将获得如下输出。

Checking for available new release

仅在第一个点版本发布后,才能从一个LTS版本升级到下一个LTS版本。例如,Ubuntu 18.04 LTS只能在20.04.1点版本发布后升级到20.04 LTS。

2. 现在,运行以下do-release-upgrade,无需额外参数即可执行实际的版本升级到下一个可用的 Ubuntu 版本。

sudo do-release-upgrade
Performing the release upgrade

3. 如下所示,在提示时按 Enter 键,开始升级并下载新版本的软件包。

Confirming starting with the upgrade

4. 查看升级信息,输入y,然后按 Enter 键继续。

下面的提示显示了要删除、安装和升级的总软件包数,以及升级所需下载的资源总大小。

请注意,升级过程可能需要一些时间才能完成,这取决于您系统的速度和传输的数据量。

Continuing with the upgrade

5. 现在,选择<是>,然后按 Enter 键在软件包升级期间重新启动服务。

在升级过程中,您可能会被提示回答一些问题或确认某些操作,例如下面的示例。当用户编辑现有配置文件并且新的软件包配置文件不同时,会出现这些提示。

Allowing restarting services during package upgrade

或选择保留当前安装的配置文件的本地版本。

默认操作是保留现有版本,但您应该检查文件中的差异。旧的配置可能具有已弃用的选项,可能会导致软件失败或系统无法正确启动。

Keeping the local version of configuration files currently installed

6. 输入 yN 来移除或保留新版本不再需要的过时软件包。

Removing obsolete packages

7. 升级完成后,输入 y 并按回车键重启您的 Ubuntu 系统。

Rebooting the Ubuntu system after the upgrade

8. 最后,在重启后运行以下命令以获取 Linux 标准基础(LSB)详细信息。

lsb_release -a

下方的输出验证您当前正在运行的是 Ubuntu Server 22.04 LTS,使用的代号jammy

恭喜!您已成功在 Ubuntu 上执行了新版本升级!

Checking the current installed Ubuntu release

结论

在本教程中,您已学会如何通过在 Ubuntu 系统上执行升级来了解新功能和改进。

请记住,在进行升级之前备份您的系统,并在非生产环境中测试该过程。

升级后,您永远不知道何时会遇到一些启动问题。为什么不开始学习如何修复它们呢?

Source:
https://adamtheautomator.com/upgrade-ubuntu/