当前位置: 首页 > 科技新闻 >

如何在安装之前检查Linux软件包的版本?

时间:2019-11-13 08:51来源:网络整理 浏览:
大多数人都知道如何在 Linux 中查找已安装软件包的版本,但是,你会如何查找那些还没有安装的软件包的版本呢?很简单!本文将介绍在 Deb

如何在安装之前检查Linux软件包的版本?

大多数人都知道如何在 Linux 中查找已安装软件包的版本,但是,你会如何查找那些还没有安装的软件包的版本呢?很简单!本文将介绍在 Debian 及其衍生品(如 Ubuntu)中,如何在软件包安装之前检查它的版本。对于那些想在安装之前知道软件包版本的人来说,这个小技巧可能会有所帮助。

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

在基于 DEB 的系统中,即使软件包还没有安装,也有很多方法可以查看他的版本。接下来,我将一一介绍。

方法 1 – 使用 Apt

检查软件包的版本的懒人方法:

 

示例:

 

示例输出:

 

正如你在上面的输出中看到的,apt show 命令显示了软件包许多重要的细节,例如:

因此,Ubuntu 仓库中可用的 Vim 版本是 8.0.1453。如果我把它安装到我的 Ubuntu 系统上,就会得到这个版本。

或者,如果你不想看那么多的内容,那么可以使用 apt policy 这个命令:

 

甚至更短:

 

apt 是 Ubuntu 最新版本的默认包管理器。因此,这个命令足以找到一个软件包的详细信息,给定的软件包是否安装并不重要。这个命令将简单地列出给定包的版本以及其他详细信息。

方法 2 – 使用 Apt-get

要查看软件包的版本而不安装它,我们可以使用 apt-get 命令和 -s 选项。

 

示例输出:

 

这里,-s 选项代表 模拟。正如你在输出中看到的,它不执行任何操作。相反,它只是模拟执行,好让你知道在安装 Vim 时会发生什么。

你可以将 install 选项替换为 upgrade,以查看升级包时会发生什么。

 

方法 3 – 使用 Aptitude

在 Debian 及其衍生品中,aptitude 是一个基于 ncurses(LCTT 译注:ncurses 是终端基于文本的字符处理的库)和命令行的前端 APT 包管理器。

使用 aptitude 来查看软件包的版本,只需运行:

 

你还可以使用模拟选项(-s)来查看安装或升级包时会发生什么。

 

这里,-V 标志用于显示软件包的详细信息。

 

类似的,只需将 install 替换为 upgrade 选项,即可查看升级包会发生什么。

 

这里,

  • -F 用于指定应使用哪种格式来显示输出,
  • %c – 包的状态(已安装或未安装),
  • %p – 包的名称,
  • %d – 包的简介,
  • %V – 包的版本。

当你不知道完整的软件包名称时,这非常有用。这个命令将列出包含给定字符串(即 vim)的所有软件包。

以下是上述命令的示例输出:

 

方法 4 – 使用 Apt-cache

apt-cache 命令用于查询基于 Debian 的系统中的 APT 缓存。对于要在 APT 的包缓存上执行很多操作时,它很有用。一个很好的例子是我们可以从某个仓库或 ppa 中列出已安装的应用程序。

不仅是已安装的应用程序,我们还可以找到软件包的版本,即使它没有被安装。例如,以下命令将找到 Vim 的版本:

 

示例输出:

 

正如你在上面的输出中所看到的,Vim 并没有安装。如果你想安装它,你会知道它的版本是 8.0.1453。它还显示 vim 包来自哪个仓库。

方法 5 – 使用 Apt-show-versions

在 Debian 和基于 Debian 的系统中,apt-show-versions 命令用于列出已安装和可用软件包的版本。它还显示所有可升级软件包的列表。如果你有一个混合的稳定或测试环境,这是非常方便的。例如,如果你同时启用了稳定和测试仓库,那么你可以轻松地从测试库找到应用程序列表,还可以升级测试库中的所有软件包。

默认情况下系统没有安装 apt-show-versions,你需要使用以下命令来安装它:

 

安装后,运行以下命令查找软件包的版本,例如 Vim:

 

这里,-a 选项打印给定软件包的所有可用版本。

如果已经安装了给定的软件包,那么就不需要使用 -a 选项。在这种情况下,只需运行:

 

差不多完了。如果你还了解其他方法,在下面的评论中分享,我将检查并更新本指南。

【责任编辑:庞桂玉 TEL:(010)68476606】
推荐内容