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


使用 aptitude 来查看软件包的版本,只需运行:
$ aptitude versions vimp 2:8.0.1453-1ubuntu1 bionic 500p 2:8.0.1453-1ubuntu1.1 bionic-security,bionic-updates 500你还可以使用模拟选项(-s)来查看安装或升级包时会发生什么 。
$ aptitude -V -s install vimThe following NEW packages will be installed: vim [2:8.0.1453-1ubuntu1.1]0 packages upgraded, 1 newly installed, 0 to remove and 45 not upgraded.Need to get 1,152 kB of archives. After unpacking 2,852 kB will be used.Would download/install/remove packages.这里,-V 标志用于显示软件包的详细信息 。
$ aptitude -V -s upgrade vim类似的,只需将 install 替换为 upgrade 选项,即可查看升级包会发生什么 。
$ aptitude search vim -F "%c %p %d %V"这里,

  • -F 用于指定应使用哪种格式来显示输出,
  • %c – 包的状态(已安装或未安装),
  • %p – 包的名称,
  • %d – 包的简介,
  • %V – 包的版本 。
当你不知道完整的软件包名称时,这非常有用 。这个命令将列出包含给定字符串(即 vim)的所有软件包 。
以下是上述命令的示例输出:
[...]p vim Vi IMproved - enhanced vi editor 2:8.0.1453-1ubp vim-tlib Some vim utility functions 1.23-1p vim-ultisnips snippet solution for Vim 3.1-3p vim-vimerl Erlang plugin for Vim 1.4.1+git20120p vim-vimerl-syntax Erlang syntax for Vim 1.4.1+git20120p vim-vimoutliner script for building an outline editor on top of Vim 0.3.4+pristinep vim-voom Vim two-pane outliner 5.2-1p vim-youcompleteme fast, as-you-type, fuzzy-search code completion engine for Vim 0+20161219+git方法 4 – 使用 Apt-cacheapt-cache 命令用于查询基于 Debian 的系统中的 APT 缓存 。对于要在 APT 的包缓存上执行很多操作时,它很有用 。一个很好的例子是我们可以从 某个仓库或 ppa 中列出已安装的应用程序。
不仅是已安装的应用程序,我们还可以找到软件包的版本,即使它没有被安装 。例如,以下命令将找到 Vim 的版本:
$ apt-cache policy vim示例输出:
vim: Installed: (none) Candidate: 2:8.0.1453-1ubuntu1.1 Version table: 2:8.0.1453-1ubuntu1.1 500 500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages 2:8.0.1453-1ubuntu1 500 500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages正如你在上面的输出中所看到的,Vim 并没有安装 。如果你想安装它,你会知道它的版本是 8.0.1453 。它还显示 vim 包来自哪个仓库 。
方法 5 – 使用 Apt-show-versions在 Debian 和基于 Debian 的系统中,apt-show-versions 命令用于列出已安装和可用软件包的版本 。它还显示所有可升级软件包的列表 。如果你有一个混合的稳定或测试环境,这是非常方便的 。例如,如果你同时启用了稳定和测试仓库,那么你可以轻松地从测试库找到应用程序列表,还可以升级测试库中的所有软件包 。
默认情况下系统没有安装 apt-show-versions,你需要使用以下命令来安装它:
$ sudo apt-get install apt-show-versions安装后,运行以下命令查找软件包的版本,例如 Vim:
$ apt-show-versions -a vimvim:amd64 2:8.0.1453-1ubuntu1 bionic archive.ubuntu.comvim:amd64 2:8.0.1453-1ubuntu1.1 bionic-security security.ubuntu.comvim:amd64 2:8.0.1453-1ubuntu1.1 bionic-updates archive.ubuntu.comvim:amd64 not installed这里,-a 选项打印给定软件包的所有可用版本 。
如果已经安装了给定的软件包,那么就不需要使用 -a 选项 。在这种情况下,只需运行:
$ apt-show-versions vim差不多完了 。如果你还了解其他方法,在下面的评论中分享,我将检查并更新本指南 。


推荐阅读