如何检查存储库中可用的软件包版本?


256

如何在不安装Ubuntu信息库的情况下检查可用软件包的版本?

Answers:


329

使用命令:

apt-cache policy <packageName>

这将为您提供所有可用软件包版本的信息。

例:

alaa @ aa-lu:〜$ apt-cache策略vlc
vlc:
  安装:2.0.8-0ubuntu0.13.04.1
  候选人:2.0.8-0ubuntu0.13.04.1
  版本表:
 *** 2.0.8-0ubuntu0.13.04.1 0
        500个http://ae.archive.ubuntu.com/ubuntu/ raring-updates / universe i386软件包
        500个http://security.ubuntu.com/ubuntu/ raring-security / universe i386软件包
        100 / var / lib / dpkg /状态
     2.0.6-1 0
        500个http://ae.archive.ubuntu.com/ubuntu/ raring / universe i386软件包
  • 从输出中,您可以看到有两个版本:2.0.8-0ubuntu0.13.04.12.0.6-1。它还会告诉您它们来自哪个存储库。

  • Installed:告诉您已安装的版本。如果您尚未安装该软件包,则会看到(none)

  • Candidate:是如果使用将会安装的版本apt-get install vlc。如果要安装其他版本,请执行apt-get install vlc=2.0.6-1


26

转到packages.ubuntu.com,填写搜索表单,以很好地查看包含版本的软件包。


在此处输入图片说明


点击搜索,然后:


在此处输入图片说明


额外的好处

  • 还将列出其他版本的Ubuntu的软件包版本。例如。如果您想了解Raring(13.04)中软件包的版本,但是您的系统仍具有Precise(12.04),那么这将提供一种查找方法。
  • 您甚至不需要安装Ubuntu。

最大的缺点是,它不会列出您可能已安装的其他存储库的版本,例如PPA。然后,您将需要已发布的apt-cache policy方法

专家提示

使用快捷方式-只需浏览到要查询的软件包的名称http://packages.ubuntu.com/packagename并替换packagename为该名称即可。


18
apt-cache madison <packageName>

它还提供了有关存储库中所有可用软件包版本的信息。此命令输出的语法如下:

packageName | Version | Repository

apt-cache的madison命令尝试模仿Debian档案管理工具madison的输出格式和功能的子集。它以表格格式显示软件包的可用版本。与原始的madison不同,它只能显示有关APT已为其检索软件包列表(APT :: Architecture)的体系结构的信息。

例:

$ apt-cache madison chromium-browser
chromium-browser | 32.0.1700.102-0ubuntu0.13.10.1~20140128.970.1 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy-updates/universe amd64 Packages
chromium-browser | 32.0.1700.102-0ubuntu0.13.10.1~20140128.970.1 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy-security/universe amd64 Packages
chromium-browser | 29.0.1547.65-0ubuntu2 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy/universe amd64 Packages
chromium-browser | 29.0.1547.65-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ saucy/universe amd64 Packages
chromium-browser | 29.0.1547.65-0ubuntu2 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy/universe Sources
chromium-browser | 32.0.1700.102-0ubuntu0.13.10.1~20140128.970.1 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy-updates/universe Sources
chromium-browser | 32.0.1700.102-0ubuntu0.13.10.1~20140128.970.1 | http://mirror.sov.uk.goscomb.net/ubuntu/ saucy-security/universe Sources
chromium-browser | 29.0.1547.65-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ saucy/universe Sources
chromium-browser | 29.0.1547.65-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ saucy/universe Sources

感谢您的答复,脚本的输出比apt-cache policy
MisterZ

9

CTRL+ ALT+ 打开终端,T 然后键入

apt-cache showpkg <package_name>

然后它将为您提供有关可用版本的信息。

例如:

jai@frank-Jai:~$ apt-cache showpkg chromium
Package: chromium
Versions: 

Reverse Depends: 
  mozplugger,chromium 10.0.648.114~r75702-1~
  chromium-bsu,chromium 0.9.14
  chromium-bsu,chromium 0.9.14
Dependencies: 
Provides: 
Reverse Provides: 
jai@frank-Jai:~$ 

1
据我所知,还没有这样一个仅称为“铬”的软件包。因此apt-cache show从这个意义上讲更加实用。
RaduRădeanu13年

@RaduRădeanuChrome是浏览器。
rɑːdʒɑ

1
是的,您没有错,但包裹的名称是chromium-browser。您可以通过进行确认apt-cache search chromium。这是输出的第5行:)
RaduRădeanu2013年

8

apt-cache showaptitude show为您提供了很多有关存储库中软件包的信息(即使已安装或未安装),包括版本。如果您只对版本感兴趣,请使用:

apt-cache show <packageName> | grep Version

要么

aptitude show <packageName> | grep Version

如果一个软件包有多个版本,您将看到此信息。要仅查看最新版本,请使用:

apt-cache show <packageName> | grep Version | head -1

您对以上命令没有任何疑问。


3
apt-cache policy <PackageName> | grep Candidate | cut -d ':' -f 3 | cut -d '-' -f 1

4
如果您可以编辑答案以包含命令及其子部分的简短描述,那将是很好的选择,因此将来的读者可能会获得一些见识,但并不是每个人都足够聪明地了解您在这里所做的事情。干杯。
Videonauth

0

这是另一种方式:

sudo apt-get -s install --only-upgrade <package-name>

以上方法仅在使用sudo运行时有效。


2
我认为您不需要sudo,因为您只是在模拟(-s
Gerhard Burger

2
如果您正在运行命令的用户对/etc/apt/sources.list.d/中的文件没有读取权限,就如同您运行apt-cache policy <pkg name>一样。我不得不和sudo一起跑步
Jerry Hoffmeister
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.