Merge pull request #15055 from wxy/20190617-How-To-Check-Linux-Package-Version-Before-Installing-It

PRF&PUB:20190617 How To Check Linux Package Version Before Installing It
This commit is contained in:
Xingyu.Wang 2019-08-18 11:18:04 +08:00 committed by GitHub
commit 9a5eeed850
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,8 +1,8 @@
[#]: collector: (lujun9972)
[#]: translator: (MjSeven)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-11243-1.html)
[#]: subject: (How To Check Linux Package Version Before Installing It)
[#]: via: (https://www.ostechnix.com/how-to-check-linux-package-version-before-installing-it/)
[#]: author: (sk https://www.ostechnix.com/author/sk/)
@ -12,13 +12,13 @@
![Check Linux Package Version][1]
大多数人都知道如何在 Linux 中[**查找已安装软件包的版本**][2],但是,你会如何查找那些最初没有安装的软件包的版本呢?这些都不是问题!本文将介绍在 Debian 及其衍生产品(如 Ubuntu如何在软件包安装之前检查它的版本。对于那些想在安装之前知道软件包版本的人来说这个小技巧可能会有所帮助。
大多数人都知道如何在 Linux 中[查找已安装软件包的版本][2],但是,你会如何查找那些还没有安装的软件包的版本呢?很简单!本文将介绍在 Debian 及其衍生品(如 Ubuntu如何在软件包安装之前检查它的版本。对于那些想在安装之前知道软件包版本的人来说这个小技巧可能会有所帮助。
### 在安装之前检查 Linux 软件包版本
在基于 DEB 的系统中,即使软件包还没有安装,也有很多方法可以查看他的版本。接下来,我将一一介绍。
##### 方法 1 使用 Apt
#### 方法 1 使用 Apt
检查软件包的版本的懒人方法:
@ -67,11 +67,11 @@ Description: Vi IMproved - enhanced vi editor
N: There is 1 additional record. Please use the '-a' switch to see it
```
正如你在上面的输出中看到的,"apt show" 命令显示了软件包许多重要的细节,例如:
正如你在上面的输出中看到的,`apt show` 命令显示了软件包许多重要的细节,例如:
1. 包名称,
2. 版本,
3. 来源vim 的来源
3. 来源vim 来自哪里
4. 维护者,
5. 包的主页,
6. 依赖,
@ -79,10 +79,9 @@ N: There is 1 additional record. Please use the '-a' switch to see it
8. 简介,
9. 其他。
因此Ubuntu 仓库中可用的 Vim 版本是 **8.0.1453**。如果我把它安装到我的 Ubuntu 系统上,就会得到这个版本。
因此Ubuntu 仓库中可用的 Vim 版本是 **8.0.1453**。如果我把它我的 Ubuntu 系统上,就会得到这个版本。
或者,如果你不想看那么多的内容,那么可以使用 **"apt policy"**这个命令:
或者,如果你不想看那么多的内容,那么可以使用 `apt policy` 这个命令:
```
$ apt policy vim
@ -106,11 +105,11 @@ 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 最新版本的默认包管理器。因此,这个命令足以找到一个软件包的详细信息,给定的软件包是否安装并不重要。这个命令将简单地列出给定包的版本以及其他详细信息。
`apt` 是 Ubuntu 最新版本的默认包管理器。因此,这个命令足以找到一个软件包的详细信息,给定的软件包是否安装并不重要。这个命令将简单地列出给定包的版本以及其他详细信息。
##### 方法 2 使用 Apt-get
#### 方法 2 使用 Apt-get
要查看软件包的版本而不安装它,我们可以使用 **apt-get** 命令和 **-s** 选项。
要查看软件包的版本而不安装它,我们可以使用 `apt-get` 命令和 `-s` 选项。
```
$ apt-get -s install vim
@ -135,17 +134,17 @@ Inst vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic
Conf vim (2:8.0.1453-1ubuntu1.1 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
```
这里,-s 选项代表 **模拟**。正如你在输出中看到的,它不执行任何操作。相反,它只是模拟执行,好让你知道在安装 Vim 会发生什么。
这里,`-s` 选项代表 **模拟**。正如你在输出中看到的,它不执行任何操作。相反,它只是模拟执行,好让你知道在安装 Vim 会发生什么。
你可以将 "install" 选项替换为 "upgrade",以查看升级包时会发生什么。
你可以将 `install` 选项替换为 `upgrade`,以查看升级包时会发生什么。
```
$ apt-get -s upgrade vim
```
##### 方法 3 使用 Aptitude
#### 方法 3 使用 Aptitude
在 Debian 及其衍生品中,**aptitude** 是一个基于 ncursesLCTT 译者ncurses 是终端基于文本的字符处理的库)和命令行的前端 APT 包管理器。
在 Debian 及其衍生品中,`aptitude` 是一个基于 ncursesLCTT 译ncurses 是终端基于文本的字符处理的库)和命令行的前端 APT 包管理器。
使用 aptitude 来查看软件包的版本,只需运行:
@ -155,7 +154,7 @@ p 2:8.0.1453-1ubuntu1
p 2:8.0.1453-1ubuntu1.1 bionic-security,bionic-updates 500
```
你还可以使用模拟选项(**-s**)来查看安装或升级包时会发生什么。
你还可以使用模拟选项(`-s`)来查看安装或升级包时会发生什么。
```
$ aptitude -V -s install vim
@ -166,25 +165,25 @@ Need to get 1,152 kB of archives. After unpacking 2,852 kB will be used.
Would download/install/remove packages.
```
这里,**-V** 标志用于显示软件包的详细信息。
这里,`-V` 标志用于显示软件包的详细信息。
```
$ aptitude -V -s upgrade vim
```
类似的,只需将 "install" 替换为 "upgrade" 选项,即可查看升级包会发生什么。
类似的,只需将 `install` 替换为 `upgrade` 选项,即可查看升级包会发生什么。
```
$ aptitude search vim -F "%c %p %d %V"
```
这里,
* **-F** 用于指定应使用哪种格式来显示输出,
* **%c** 包的状态(已安装或未安装),
* **%p** 包的名称,
* **%d** 包的简介,
* **%V** 包的版本。
* `-F` 用于指定应使用哪种格式来显示输出,
* `%c` 包的状态(已安装或未安装),
* `%p` 包的名称,
* `%d` 包的简介,
* `%V` 包的版本。
当你不知道完整的软件包名称时,这非常有用。这个命令将列出包含给定字符串(即 vim的所有软件包。
@ -202,9 +201,9 @@ p vim-voom Vim two-pane out
p vim-youcompleteme fast, as-you-type, fuzzy-search code completion engine for Vim 0+20161219+git
```
##### 方法 4 使用 Apt-cache
#### 方法 4 使用 Apt-cache
**Apt-cache** 命令用于查询基于 Debian 的系统中的 APT 缓存。对于要在 APT 的包缓存上执行很多操作时,它很有用。一个很好的例子是我们可以从[**某个仓库或 ppa 中列出已安装的应用程序**][3]。
`apt-cache` 命令用于查询基于 Debian 的系统中的 APT 缓存。对于要在 APT 的包缓存上执行很多操作时,它很有用。一个很好的例子是我们可以从[某个仓库或 ppa 中列出已安装的应用程序][3]。
不仅是已安装的应用程序,我们还可以找到软件包的版本,即使它没有被安装。例如,以下命令将找到 Vim 的版本:
@ -228,11 +227,12 @@ vim:
正如你在上面的输出中所看到的Vim 并没有安装。如果你想安装它,你会知道它的版本是 **8.0.1453**。它还显示 vim 包来自哪个仓库。
##### 方法 5 使用 Apt-show-versions
#### 方法 5 使用 Apt-show-versions
在 Debian 和基于 Debian 的系统中,**apt-show-versions** 命令用于列出已安装和可用软件包的版本。它还显示所有可升级软件包的列表。如果你有一个混合的稳定或测试环境,这是非常方便的。例如,如果你同时启用了稳定和测试仓库,那么你可以轻松地从测试库找到应用程序列表,还可以升级测试库中的所有软件包。
在 Debian 和基于 Debian 的系统中,`apt-show-versions` 命令用于列出已安装和可用软件包的版本。它还显示所有可升级软件包的列表。如果你有一个混合的稳定或测试环境,这是非常方便的。例如,如果你同时启用了稳定和测试仓库,那么你可以轻松地从测试库找到应用程序列表,还可以升级测试库中的所有软件包。
默认情况下系统没有安装 `apt-show-versions`,你需要使用以下命令来安装它:
默认情况下系统没有安装 apt-show-versions你需要使用以下命令来安装它
```
$ sudo apt-get install apt-show-versions
```
@ -247,9 +247,9 @@ vim:amd64 2:8.0.1453-1ubuntu1.1 bionic-updates archive.ubuntu.com
vim:amd64 not installed
```
这里,**-a** 选项打印给定软件包的所有可用版本。
这里,`-a` 选项打印给定软件包的所有可用版本。
如果已经安装了给定的软件包,那么就不需要使用 **-a** 选项呢。在这种情况下,只需运行:
如果已经安装了给定的软件包,那么就不需要使用 `-a` 选项。在这种情况下,只需运行:
```
$ apt-show-versions vim
@ -264,7 +264,7 @@ via: https://www.ostechnix.com/how-to-check-linux-package-version-before-install
作者:[sk][a]
选题:[lujun9972][b]
译者:[MjSeven](https://github.com/MjSeven)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出