問題描述
如何列出特定軟件包的所有可用版本?
我知道
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