如何列出特定软件包的所有可用版本?
我知道
apt-get install myPackage=1.2.3
可以安装特定的版本。 和
apt-show-versions -a myPackage
我会得到系统已知的版本列表。
但是如何获得所有可用版本的列表。 我认为使用apt工具是不可能的,因为它们仅限于configuration的存储库。
那么要走的路是什么? 一些networking仓库? 什么是Ubuntu 8.04的推荐?
尝试
apt-cache madison myPackage
从手册页引用:
它以表格forms显示软件包的可用版本。
如果您想知道哪些软件包版本包含在某些特定的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
它将显示“官方”信息,而不pipe您在系统上configuration的存储库。
请注意,版本之间的版本不作为官方存储库的一部分。 不过,你可以试试最近推出的http://snapshot.debian.org服务,该服务允许从2005年左右开始,根据上传到Debian存档的date和版本号访问旧的软件包。
您可能感兴趣的类似工具是whohas ,远远超出了Debian系列。 它能够显示其他发行版(Arch,openSUSE,Gentoo,FreeBSD甚至更多 – 目前有14个发行版)的可用软件版本。
希望有所帮助。
apt-cache policy myPackage
正如@Ilya指出的,你可以使用whohas
:
whohas -d Debian,Ubuntu package | tr -s ' ' '\t' | cut -f 1-3 | column -t