如何列出特定软件包的所有可用版本?
我知道
apt-get install myPackage=1.2.3
可以安装特定版本。并且
apt-show-versions -a myPackage
我将获得系统已知的版本列表。
但是如何获取所有可用版本的列表呢?我认为使用 apt 工具无法做到这一点,因为它们仅限于已配置的存储库。
那么该怎么做呢?一些网络存储库?对 Ubuntu 8.04 有什么建议?
答案1
尝试
apt-cache madison myPackage
引用自手册页:
它以表格形式显示包的可用版本。
答案2
apt-cache policy myPackage
答案3
如果你想知道某个 Debian/Ubuntu/Backports 版本中包含哪些软件包版本,麦迪逊工具来自 开发脚本包可能是答案。例如:
$ 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
它将显示“官方”信息,无论您在系统上配置了什么存储库。
请注意,发布之间的版本不作为官方存储库的一部分保留。但是,你可以尝试最近推出的http://snapshot.debian.org服务,允许根据自 2005 年左右上传到 Debian 档案的日期和版本号访问旧软件包。
您可能感兴趣的类似工具是谁有,远远超出了 Debian 家族。它能够显示其他发行版(Arch、openSUSE、Gentoo、FreeBSD 甚至更多 - 目前有 14 个发行版)可用软件的版本。
希望有所帮助。
答案4
正如@Ilya 指出的那样,您可以使用whohas
:
whohas -d Debian,Ubuntu package | tr -s ' ' '\t' | cut -f 1-3 | column -t