如何在 Linux 系统中检查是否有可用的系统更新

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何使用 apt 包管理器检查 Linux 系统上可用的系统更新。我们将介绍确保系统保持最新状态和安全性的基本步骤。

你将首先刷新可用软件包列表,以从软件源获取最新信息。然后,你将学习如何列出有可用升级的软件包。最后,你将模拟升级过程,查看哪些软件包会被更新,而无需实际执行安装操作。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/apt -.-> lab-558806{{"如何在 Linux 系统中检查是否有可用的系统更新"}} end

使用 apt update 刷新软件包列表

在这一步中,你将学习如何更新系统上可用软件包的列表。这是安装或升级任何软件之前的关键第一步,因为它能确保你可以获取到最新版本和安全更新。

你将使用 apt 包管理器,它通常用于基于 Debian 的系统,如 Ubuntu。

首先,打开终端。你可以通过点击桌面左侧的 Xfce Terminal 图标来打开它。

现在,输入以下命令并按回车键:

sudo apt update

让我们来拆解一下这个命令:

  • sudo:正如你在上一个实验中学到的,它代表“SuperUser DO”,允许你以管理员权限运行命令。更新软件包列表需要这些提升的权限。
  • apt:这是用于与 APT 包管理系统进行交互的命令行工具。
  • update:这是你要给 apt 的特定命令。它告诉 apt 从已配置的软件源下载可用软件包的最新信息。

当你运行这个命令时,你会看到类似以下的输出:

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [119 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [109 kB]
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [118 kB]
Fetched 346 kB in 1s (301 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...

这个输出显示 apt 正在连接到各个服务器(软件源)以获取更新后的软件包列表。具体的输出可能会因你系统上配置的软件源以及当前的更新状态而略有不同。

命令执行完成后,你的系统就了解了所有可安装软件包的最新版本。

点击 Continue 进入下一步。

使用 apt list --upgradable 列出可升级的软件包

在上一步中,你已经更新了可用软件包的列表。现在,让我们来看看系统中当前已安装的哪些软件包在软件源中有更新的版本。

你将使用带有 --upgradable 选项的 apt list 命令。

在终端中,输入以下命令并按回车键:

apt list --upgradable

让我们来分析一下这个命令:

  • apt:包管理工具。
  • list:这告诉 apt 你想要列出软件包。
  • --upgradable:此选项会过滤列表,只显示可以升级的软件包。

输出将显示有新版本可用的软件包列表。其格式通常为 软件包名称/发行版 版本 -> 新版本

例如,你可能会看到类似以下的内容:

Listing... Done
bind9-dnsutils/jammy-updates 1:9.18.1-1ubuntu1.6 -> 1:9.18.1-1ubuntu1.7
bind9-host/jammy-updates 1:9.18.1-1ubuntu1.6 -> 1:9.18.1-1ubuntu1.7
bind9-libs/jammy-updates 1:9.18.1-1ubuntu1.6 -> 1:9.18.1-1ubuntu1.7
...

这个输出表明,像 bind9-dnsutilsbind9-hostbind9-libs 这样的软件包有更新的版本可用。第一个版本号是当前已安装的版本,-> 后面的第二个版本号是可用于升级的新版本。

如果没有可升级的软件包,输出将仅显示 Listing... Done,后面跟着一个空行。

在你决定安装更新之前,这个命令有助于你了解有哪些更新待处理。

点击 Continue 进入下一步。

使用 apt-get upgrade --dry-run 模拟升级

在上一步中,你已经了解了哪些软件包有可用的更新。在实际执行升级操作之前,先模拟这个过程是一个很好的做法。这样你可以确切地了解会发生什么,而不会对系统做出任何更改。

你将使用带有 --dry-run 选项的 apt-get upgrade 命令。请注意,apt-get 是 APT 较旧的命令行工具,但它仍然被广泛使用,并且可以与较新的 apt 命令一起使用。

在终端中,输入以下命令并按回车键:

sudo apt-get upgrade --dry-run

让我们来拆解一下这个命令:

  • sudo:同样,模拟升级需要管理员权限。
  • apt-get:用于管理软件包的命令行工具。
  • upgrade:这告诉 apt-get 你想将已安装的软件包升级到最新版本。
  • --dry-run:这是这里的关键选项。它告诉 apt-get 去完成确定哪些软件包将被升级、安装或移除的过程,但 实际执行这些操作。

输出将向你展示如果不使用 --dry-run 选项运行该命令时 采取的操作摘要。

你可能会看到类似以下的输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  bind9-dnsutils bind9-host bind9-libs ...
...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

这个输出列出了将会被升级的软件包。它还会告诉你有多少软件包将被升级、新安装(作为依赖项)、移除或保留(由于依赖问题而不升级)。

使用 --dry-run 是一种在确定执行升级之前安全预览升级效果的方法。

点击 Continue 完成此实验。

总结

在本次实验中,你学习了如何使用 apt 包管理器在 Linux 系统中检查可用的系统更新。首先,你使用 sudo apt update 命令从软件源刷新了可用软件包的列表,这确保了系统拥有关于软件包版本的最新信息。

接下来,你通常会使用 apt list --upgradable 命令列出有可用更新的软件包,然后使用 apt-get upgrade --dry-run 命令模拟升级过程,而不实际安装任何内容。这些步骤能让你在实际执行更新之前,了解哪些软件包将被升级,并识别出任何潜在的问题。