|2019-08-1811:15
大多数人都晓得怎样在Linux中查找已安装软件包的版本,而且,你会怎么查找这些还没有安装的软件包的版本呢?很简单!本文将介绍在Debian及其衍生品(如Ubuntu)中linux下如何查看版本,怎样在软件包安装之前检测它的版本。对于这些想在安装之前晓得软件包版本的人来说,这个小方法可能会有所帮助。
在安装之前检测Linux软件包版本
在基于DEB的系统中,虽然软件包还没有安装,也有好多方式可以查看他的版本。接出来,我将一一介绍。
方式1–使用Apt
检测软件包的版本的懒人方式:
$ apt show
示例:
$ apt show vim
示例输出:
Package: vim
Version: 2:8.0.1453-1ubuntu1.1
Priority: optional
Section: editors
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Debian Vim Maintainers
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 2,852 kB
Provides: editor
Depends: vim-common (= 2:8.0.1453-1ubuntu1.1), vim-runtime (= 2:8.0.1453-1ubuntu1.1), libacl1 (>= 2.2.51-8), libc6 (>= 2.15), libgpm2 (>= 1.20.7), libpython3.6 (>= 3.6.5), libselinux1 (>= 1.32), libtinfo5 (>= 6)
Suggests: ctags, vim-doc, vim-scripts
Homepage: https://vim.sourceforge.io/
Task: cloud-image, server
Supported: 5y
Download-Size: 1,152 kB
APT-Sources: http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
Description: Vi IMproved - enhanced vi editor
Vim is an almost compatible version of the UNIX editor Vi.
.
Many new features have been added: multi level undo, syntax
highlighting, command line history, on-line help, filename
completion, block operations, folding, Unicode support, etc.
.
This package contains a version of vim compiled with a rather
standard set of features. This package does not provide a GUI
version of Vim. See the other vim-* packages if you need more
(or less).
N: There is 1 additional record. Please use the '-a' switch to see it
正如你在前面的输出中见到的,aptshow命令显示了软件包许多重要的细节,比如:
包名称,版本linux windows,来源(vim来自那里),维护者,包的主页,依赖,下载大小,简介,其他。
为此,Ubuntu库房中可用的Vim版本是8.0.1453。假如我把它安装到我的Ubuntu系统上,都会得到这个版本。
或则,假如你不想看这么多的内容,这么可以使用aptpolicy这个命令:
$ apt 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
甚至更短:
$ apt list vim
Listing... Done
vim/bionic-updates,bionic-security 2:8.0.1453-1ubuntu1.1 amd64
N: There is 1 additional version. Please use the '-a' switch to see it
apt是Ubuntu最新版本的默认包管理器。为此,这个命令足以找到一个软件包的详尽信息,给定的软件包是否安装并不重要。这个命令将简单地列举给定包的版本以及其他详尽信息。
方式2–使用Apt-get
要查看软件包的版本而不安装它,我们可以使用apt-get命令和-s选项。
$ apt-get -s install vim
示例输出:
NOTE: This is only a simulation!
apt-get needs root privileges for real execution.
Keep also in mind that locking is deactivated,
so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
ctags vim-doc vim-scripts
The following NEW packages will be installed:
vim
0 upgraded, 1 newly installed, 0 to remove and 45 not upgraded.
Inst vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Conf vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
这儿,-s选项代表模拟。正如你在输出中见到的,它不执行任何操作。相反,它只是模拟执行,好让你晓得在安装Vim时会发生哪些。
你可以将install选项替换为upgrade,以查看升级包时会发生哪些。
$ apt-get -s upgrade vim
方式3–使用Aptitude
在Debian及其衍生品中linux下如何查看版本,aptitude是一个基于ncurses(LCTT评注:ncurses是终端基于文本的字符处理的库)和命令行的后端APT包管理器。
使用aptitude来查看软件包的版本,只需运行:
$ aptitude versions vim
p 2:8.0.1453-1ubuntu1 bionic 500
p 2:8.0.1453-1ubuntu1.1 bionic-security,bionic-updates 500
你还可以使用模拟选项(-s)来查看安装或升级包时会发生哪些。
$ aptitude -V -s install vim
The 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"
这儿,
当你不晓得完整的软件包名称时,这十分有用。这个命令将列举包含给定字符串(即vim)的所有软件包。
以下是上述命令的示例输出:
[...]
p vim Vi IMproved - enhanced vi editor 2:8.0.1453-1ub
p vim-tlib Some vim utility functions 1.23-1
p vim-ultisnips snippet solution for Vim 3.1-3
p vim-vimerl Erlang plugin for Vim 1.4.1+git20120
p vim-vimerl-syntax Erlang syntax for Vim 1.4.1+git20120
p vim-vimoutliner script for building an outline editor on top of Vim 0.3.4+pristine
p vim-voom Vim two-pane outliner 5.2-1
p vim-youcompleteme fast, as-you-type, fuzzy-search code completion engine for Vim 0+20161219+git
技巧4–使用Apt-cache
apt-cache命令用于查询基于Debian的系统中的APT缓存。对于要在APT的包缓存上执行好多操作时,它很有用。一个挺好的事例是我们可以从某个库房或ppa中列举已安装的应用程序。
除了是已安装的应用程序手机linux操作系统,我们还可以找到软件包的版本,虽然它没有被安装。比如,以下命令将找到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 vim
vim:amd64 2:8.0.1453-1ubuntu1 bionic archive.ubuntu.com
vim:amd64 2:8.0.1453-1ubuntu1.1 bionic-security security.ubuntu.com
vim:amd64 2:8.0.1453-1ubuntu1.1 bionic-updates archive.ubuntu.com
vim:amd64 not installed
这儿,-a选项复印给定软件包的所有可用版本。
假如早已安装了给定的软件包,这么就不须要使用-a选项。在这些情况下,只需运行:
$ apt-show-versions vim
差不多完了。假如你还了解其他方式,在下边的评论中分享,我将检测并更新本手册。
via:
作者:sk选题:lujun9972译者:MjSeven校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出