使用apt-get / aptitude检查软件包版本?


Answers:


540

适当的

您可以运行模拟以查看如果升级/安装软件包会发生什么:

apt-get -s install <package>

要查看所有可能的升级,请upgrade在详细模式下运行,并(为了安全起见)进行仿真,然后按n取消:

apt-get -V -s upgrade

apt缓存

该选项policy可以显示软件包的已安装版本和远程版本(候选安装)。

apt-cache policy <package>

apt-show-versions

如果已安装,则显示有关一个或多个软件包的版本信息:

apt-show-versions <package>

通过-u带有或不带有软件包名称的开关将仅显示可升级的软件包。

才能

的控制台GUI aptitude可以显示具有新版本的可升级软件包。打开菜单“可升级软件包”。按下v软件包将显示更多详细的版本信息。

或在命令行上:

aptitude versions <package>

通过-V将显示有关版本的详细信息,再次确保使用模拟开关是安全的:

aptitude -V -s install <package>

替换install <package>upgrade将显示所有可升级软件包中的版本。


9
“该程序'apt-show-versions'当前尚未安装。您可以通过键入来安装它。”
Peter Ehrlich

1
apt-get -V -s upgrade让我开心,谢谢!
dr.dimitru '16

建议apt-get install -s搭配使用sudo吗?
edwinksl

@edwinksl:没有它就可以正常工作,所以我不希望sudo会更好。
zondo

3
apt show <packages>也可以添加到列表中
leo

59

使用dpkggrep的另一种方式:

dpkg -s <package> | grep Version

14
当尚未安装<package>时,这将不起作用(这是问题中的要求)。
塞拉诺2014年

1
Serrano Pereira,这个答案对我有所帮助,他有一个稍微不同的问题,但又足够相似,不能对stackoverflow造成影响。
何塞·奥尔本

更好:dpkg -s <package> | grep版本(请注意大写的V)
langlauf.io,

21

如果您不知道软件包的全名,另一种选择是格式化aptitude的搜索输出:

aptitude search <package> -F "%c %p %d %V"

%c=状态(是否安装了
%p软件包)=软件包的名称
%d=软件包的说明
%V=可用的软件包版本

参考:http : //linux.die.net/man/8/aptitude


8

获取程序包名称:

apt-cache search *search term*

获取版本详细信息:

apt-cache show *packagename*

我相信apt-getapt-cache已被弃用,apt并已aptitude成为首选方法。考虑到该套件的使用寿命,可能在未来一段时间内是一个安全的选择!


那正是我想要的。使用远程仓库获取版本和各种其他信息。
four43

6

你可以写 apt show <package>


这已经包括在Ned富兰德的回答, unix.stackexchange.com/a/362794/22812
安东尼纪勤

@yurij,您应该根据自己的编辑量对自己的答案做出建议
Kiwy

@AnthonyGeoghegan你错了,他说apt-cache我在用我apt是两个不同的东西……我在想什么?
elvis.dukaj

aptapt-cache做同样的事情。如果检查源代码,它们都是相同功能的前端:for show,一个称为的函数ShowPackage,for search,一个称为的函数DoSearch
Anthony Geoghegan

3
 $ rmadison gdm3
 gdm3 | 2.30.5-6squeeze2 | squeeze-security | i386
 gdm3 | 2.30.5-6squeeze5 | squeeze          | i386
 gdm3 | 3.4.1-8          | wheezy           | i386
 gdm3 | 3.14.1-7         | jessie           | i386
 gdm3 | 3.18.0-2         | stretch          | i386
 gdm3 | 3.18.0-2         | sid              | i386

来自devscripts.deb


对于ubuntu,这显示为不同的ubuntu版本找到的版本(代号,例如“ precise”,“ trusty”和“ xenial”)。速度非常慢,但可能会帮助您决定升级LTS;)
Tomasz Gandor

2

要在安装之前查看最新的可用软件包。执行更新,以便您具有所有最新的软件包更新。

$sudo apt-get update

现在,要在安装之前检查库中可用的最新软件包,请运行以下命令。

$apt-cache show <package name>

例:

$apt-cache show latexila

要么

$apt-cache show npm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.