问题描述
如何列出特定软件包的所有可用版本?
我知道
apt-get install myPackage=1.2.3
可以安装特定版本。与
apt-show-versions -a myPackage
我会得到系统已知的版本列表。
但是如何获取所有可用版本的列表。我认为使用apt工具是不可能的,因为它们仅限于已配置的存储库。
那该怎么走呢?一些web-repositories? Ubuntu 8.04的建议是什么?
最佳思路
试试看
apt-cache madison myPackage
从手册页引用:
It displays available versions of a package in a tabular format.
次佳思路
如果您想知道某些特定的Debian /Ubuntu /Backports版本中包含哪些软件包版本,则可以使用devscripts软件包中的rmadison工具来解决。例如:
$ rmadison -u debian,ubuntu,bpo mercurial | cut -d "|" -f 1-3
debian:
mercurial | 0.9.1-1+etch1 | etch-m68k
mercurial | 0.9.1-1+etch1 | oldstable
mercurial | 1.0.1-5.1 | stable
mercurial | 1.5.1-2 | testing
mercurial | 1.5.2-1 | unstable
ubuntu:
mercurial | 0.7-8 | dapper/universe
mercurial | 0.9.5-3 | hardy/universe
mercurial | 1.0.1-5.1~hardy1 | hardy-backports/universe
mercurial | 1.1.2-2ubuntu1 | jaunty/universe
mercurial | 1.3.1-1 | karmic/universe
mercurial | 1.4.3-1 | lucid/universe
mercurial | 1.5.2-1 | maverick/universe
bpo:
mercurial | 1.0.1-5.1~bpo40+1 | etch-backports
mercurial | 1.3.1-1~bpo50+2 | lenny-backports
无论系统上已配置的存储库如何,它将显示”official”信息。
请注意,发行版之间的版本不作为官方存储库的一部分保留。但是,您可以试一下最近启动的http://snapshot.debian.org服务,该服务允许根据自2005左右开始上传到Debian档案库的日期和版本号访问旧软件包。
您可能感兴趣的类似工具是whohas,它远远超出了Debian家族。它能够显示其他发行版(Arch,openSUSE,Gentoo,FreeBSD以及更多的发行版)上可用软件的版本。
希望能有所帮助。
第三种思路
apt-cache policy myPackage