如何检查 Linux 中是否安装了特定版本的软件

LinuxLinuxBeginner
立即练习

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

简介

在这个实验中,你将学习如何使用不同的方法检查 Linux 中已安装软件的版本。你将首先使用许多命令行程序支持的通用 --version 选项,以快速显示它们的版本。

接下来,你将探索如何使用 apt show 命令(这是基于 Debian 的系统上的一个强大工具)来检索已安装软件包的详细信息,包括它们的版本。最后,你将学习如何使用 dpkg -l 命令验证已安装软件的版本,该命令会列出已安装的软件包及其版本。这些技术对于故障排除、确保兼容性以及管理你的 Linux 系统上的软件至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/PackagesandSoftwaresGroup -.-> linux/curl("URL Data Transferring") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") linux/PackagesandSoftwaresGroup -.-> linux/software("Linux Software") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/grep -.-> lab-558764{{"如何检查 Linux 中是否安装了特定版本的软件"}} linux/curl -.-> lab-558764{{"如何检查 Linux 中是否安装了特定版本的软件"}} linux/apt -.-> lab-558764{{"如何检查 Linux 中是否安装了特定版本的软件"}} linux/software -.-> lab-558764{{"如何检查 Linux 中是否安装了特定版本的软件"}} linux/nano -.-> lab-558764{{"如何检查 Linux 中是否安装了特定版本的软件"}} end

使用 --version 显示软件版本

在这一步中,你将学习一种在 Linux 中使用 --version 选项检查已安装软件版本的常用方法。许多命令行程序都支持使用此选项来显示它们的版本信息。

让我们用几个你可能会遇到的常见命令来试试看。

首先,让我们检查 bash shell 的版本。在你的终端中输入以下命令并按回车键:

bash --version

你应该会看到类似以下的输出,显示系统上安装的 bash 版本:

GNU bash, version 5.1.16(1)-release (...)
...

接下来,让我们检查经常在终端中使用的 nano 文本编辑器的版本。输入:

nano --version

输出将显示 nano 的版本:

GNU nano, version 5.9
...

最后,让我们检查用于通过 URL 传输数据的工具 curl 命令的版本。输入:

curl --version

你会看到列出 curl 版本和支持的协议的输出:

curl 7.81.0 (...)
...

使用 --version 是一种快速简便的方法,可让你了解自己正在使用的特定命令行工具的版本。这在故障排除或确保兼容性方面通常很有帮助。

点击 继续 以继续操作。

使用 apt show 检查软件包版本

在上一步中,你学习了如何使用 --version 标志检查命令的版本。然而,这仅在命令本身支持该选项时才有效。一种更通用的获取已安装软件详细信息(包括其版本)的方法是使用包管理器。

在像 Ubuntu 这样基于 Debian 的系统上,apt 命令用于软件包管理。apt show 命令可以显示特定软件包的信息。

让我们使用 apt show 来检查 nano 软件包的版本。在你的终端中输入以下命令并按回车键:

apt show nano

你会看到关于 nano 软件包的大量信息。查找以 Version: 开头的行。

Package: nano
Version: 5.9-4
...
APT-Sources: http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
Description: small, friendly text editor inspired by Pico
...

输出显示了软件包名称、版本、依赖项、描述和其他详细信息。这是一种获取已安装软件包全面信息的强大方法。

现在,让我们尝试检查 curl 软件包的信息:

apt show curl

同样,在输出中查找 Version: 行。

Package: curl
Version: 7.81.0-1ubuntu1.10
...
APT-Sources: http://security.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
Description: command line tool for transferring data with URL syntax
...

当你需要除版本号之外的更多详细信息(例如软件包的依赖项或其安装来源)时,使用 apt show 特别有用。

点击 继续 进入下一步。

使用 dpkg -l 验证已安装的版本

在这一步中,你将学习另一个用于验证系统上软件包安装情况和版本的命令:dpkgdpkg 命令是管理 Debian 软件包的底层工具,而 apt 在背后使用 dpkg

dpkg -l 命令会列出所有已安装的软件包。这可能会产生很长的输出,因此通常会将输出通过管道传递给 grep 以过滤特定的软件包。

让我们使用 dpkg -l 来检查 nano 软件包是否已安装并查看其版本。在你的终端中输入以下命令并按回车键:

dpkg -l nano

如果 nano 软件包已安装,输出中将显示一行关于它的信息。第二列显示版本。

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/Trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||| Name           Version      Architecture Description
+++-==============-============-============-============================================
ii  nano           5.9-4        amd64        small, friendly text editor inspired by Pico

在这个输出中:

  • 前两列中的 ii 表示软件包已安装(i)且其配置文件也已安装(i)。
  • nano 是软件包名称。
  • 5.9-4 是已安装的版本。

现在,让我们使用相同的命令检查 curl 软件包:

dpkg -l curl

你应该会看到 curl 软件包的类似输出:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/Trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||| Name           Version      Architecture Description
+++-==============-============-============-============================================
ii  curl           7.81.0-1ubuntu1.10 amd64        command line tool for transferring data with URL syntax

dpkg -l 命令是验证基于 Debian 的系统上已安装软件包的存在和版本的基础工具。

点击 继续 完成此实验。

总结

在这个实验中,你学习了如何使用不同方法检查 Linux 中已安装软件的版本。你首先了解了在 bashnanocurl 等各种命令行工具中使用 --version 选项来快速显示其版本的常见做法。这种方法简单直接,但依赖于软件是否支持该选项。

随后,你发现了在基于 Debian 的系统上使用 apt 包管理器的更全面的方法。通过对 nano 等软件包使用 apt show 命令,你可以获取已安装软件包的详细信息,包括其版本,这是一种更通用的验证软件版本的方法。