怎样在 Linux 中查找软件包版本

尽管在图形包管理器的帮助下包管理变得更加容易,但一些用户总是更喜欢命令行方式。 有不同的命令可以在不同风格的 Linux 中找出包版本。 今天,在本教程中,我们将了解怎样在一些流行的 Linux 发行版中查找软件包版本,例如 Alpine Linux、Arch Linux 及其衍生品、Debian 及其衍生品、RHEL 及其衍生品。

在 Alpine Linux 中查找软件包版本

要查看包版本和其他详细信息,请使用 apk info 命令如下。

$ apk info vim

您将看到给定软件包的简短描述以及托管它的网站。

样本输出:

vim-8.2.2137-r0 description:
Improved vi-style text editor

vim-8.2.2137-r0 webpage:
https://www.vim.org/

vim-8.2.2137-r0 installed size:
18 MiB

gvim-8.2.2137-r0 description:
advanced text editor, with GUI

gvim-8.2.2137-r0 webpage:
https://www.vim.org/

gvim-8.2.2137-r0 installed size:
29 MiB

如你所见,安装的 Vim 版本是 8.2.

在基于 Arch 的系统中查找包版本

要在 Arch Linux 及其衍生产品(如 EndeavourOS 和 Manjaro Linux)中查找已安装的软件包(例如 VLC)版本,请运行以下命令:

$ pacman -Q vlc

样本输出:

vlc 2.2.4-3

正如你在上面的输出中看到的,VLC 包的安装版本是 2.2.4-3.

要显示包的详细信息,请运行:

$ pacman -Qi vlc

样本输出:

Name : vlc
Version : 2.2.4-3
Description : A multi-platform MPEG, VCD/DVD, and DivX player
Architecture : x86_64
URL : https://www.videolan.org/vlc/
Licenses : LGPL2.1 GPL2
Groups : None
Provides : None
Depends On : a52dec libdvbpsi libxpm libdca libproxy sdl_image
 libdvdnav libtiger lua libmatroska zvbi taglib
 libmpcdec ffmpeg2.8 faad2 libupnp libshout libmad
 libmpeg2 xcb-util-keysyms libtar libxinerama
Optional Deps : avahi: for service discovery using bonjour protocol
 [installed]
 libnotify: for notification plugin [installed]
 gtk2: for notify plugin [installed]
 
 [...]

  lua-socket: for http interface
 qt4: for the GUI [installed]
Required By : None
Optional For : smtube
Conflicts With : vlc-plugin
Replaces : vlc-plugin
Installed Size : 53.28 MiB
Packager : Antonio Rojas <[email protected]>
Build Date : Sun 24 Jul 2016 03:12:59 PM IST
Install Date : Fri 05 Aug 2016 11:22:54 AM IST
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature

上面的命令显示了完整的详细信息,例如包描述、版本、构建日期、安装日期和包所有者等。

相关阅读:

  • Pacman 命令用法

在基于 DEB 的系统中查找包版本

在 Debian、Ubuntu 及其衍生产品如 Linux Mint、Pop OS 和 Elementary OS 中,我们可以找到已安装的包,说 Apache 网络服务器,版本使用 dpkg 命令与 -l 切换如下:

$ dpkg -l apache2

或者,您可以使用 dpkggrep 命令以获取软件包的已安装版本,如下所示。

$ dpkg -s apache2 | grep -i version

样本输出:

Version: 2.4.18-2ubuntu3.1

要显示已安装包的详细信息,请运行:

$ dpkg -s apache2

样本输出:

Package: apache2
Status: install ok installed
Priority: optional
Section: httpd
Installed-Size: 488
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Version: 2.4.18-2ubuntu3.1
Replaces: apache2.2-bin, apache2.2-common
Provides: httpd, httpd-cgi
Depends: lsb-base, procps, perl, mime-support, apache2-bin (= 2.4.18-2ubuntu3.1), apache2-utils (>= 2.4), apache2-data (= 2.4.18-2ubuntu3.1)
Pre-Depends: dpkg (>= 1.17.14)
Recommends: ssl-cert
Suggests: www-browser, apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, ufw
Conflicts: apache2.2-bin, apache2.2-common
Conffiles:
 /etc/apache2/apache2.conf da32fcc6a783acaebf0d74c17c726bf7
 /etc/default/apache-htcacheclean ae8721a0bc5b4e2ef7a5258b1e9db5c5

 [..]

 /etc/logrotate.d/apache2 7322a4f050c1e2454249695236a3472c
 /etc/ufw/applications.d/apache2-utils.ufw.profile f8d4fd920e598ceb4379613c6261f6af
Description: Apache HTTP Server
 The Apache HTTP Server Project's goal is to build a secure, efficient and
 extensible HTTP server as standards-compliant open source software. The
 result has long been the number one web server on the Internet.
 .
 Installing this package results in a full installation, including the
 configuration files, init scripts and support scripts.
Homepage: https://httpd.apache.org/
Original-Maintainer: Debian Apache Maintainers <[email protected]>

此外,我们可以使用 apt-show-versions 命令:

$ apt-show-versions apache2

样本输出:

apache2:amd64/xenial-security 2.4.18-2ubuntu3.1 uptodate
apache2:i386 not installed

如您在上面的结果中看到的,我安装了 apache2 64 位版本,它的版本是 2.4.18.

如果 ‘apt-show-versions’ 程序没有安装,你可以使用命令安装它:

$ sudo apt install apt-show-versions

我们现在知道怎样检查已安装包的版本。 在线存储库中的软件包版本怎样? 无论怎样要检查官方存储库中可用的软件包版本吗? 这也是可能的。 检查以下链接以了解怎样操作。

  • 怎样在 Ubuntu 存储库中检查软件包的可用版本

即使这些软件包没有安装在您的基于 Debian 的系统中,您仍然可以找到它们的版本。 查看以下指南以获取更多详细信息。

  • 怎样在安装之前检查 Linux 软件包版本

在基于 RPM 的系统中查找软件包版本

要在 Red Hat、CentOS 等基于 RPM 的发行版中找出已安装软件包(例如 httpd)的版本, Fedora、AlmaLinux、Rocky Linux 和 openSUSE 等,运行:

$ rpm -qi httpd

样本输出:

Name : httpd
Version : 2.4.6
Release : 40.el7.centos.4
Architecture: x86_64
Install Date: Thu 11 Aug 2016 08:08:45 PM IST
Group : System Environment/Daemons
Size : 9806117
License : ASL 2.0
Signature : RSA/SHA256, Mon 18 Jul 2016 09:35:16 PM IST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-40.el7.centos.4.src.rpm
Build Date : Mon 18 Jul 2016 09:02:11 PM IST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <https://bugs.centos.org>
Vendor : CentOS
URL : https://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

上面的命令显示了安装的包版本、构建日期、许可证、描述等。正如你在输出中看到的,httpd 包版本是 2.4.6.