How can I see all versions of a package that are available in the archive?
Is there a way I can see all the versions that are in the archives that I have configured in sources.list. I can see the last version of each archive with
apt-get policy
, but how can I see them all?Is there any way that this can also include PPA and anything in sources.list.d?
As far as I understand your requirements, the madison option for apt-cache does what you want:
madison /[ pkg(s) ]
apt-cache's madison command attempts to mimic the output format and a subset of the functionality of the Debian archive management tool, madison. It displays available versions of a package in a tabular format. Unlike the original madison, it can only display information for the architecture for which APT has retrieved package lists (APT::Architecture).On my computer:
$ apt-cache madison f-spot f-spot | 0.7.2-1~ppa~lucid0 | http://ppa.launchpad.net/f-spot/f-spot-ppa/ubuntu/ lucid/main Packages f-spot | 0.6.1.5-2ubuntu7 | http://ro.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages f-spot | 0.6.1.5-2ubuntu6 | http://ro.archive.ubuntu.com/ubuntu/ lucid/main Packages f-spot | 0.6.1.5-2ubuntu6 | http://ro.archive.ubuntu.com/ubuntu/ lucid/main Sources f-spot | 0.6.1.5-2ubuntu7 | http://ro.archive.ubuntu.com/ubuntu/ lucid-updates/main Sources
I hope this is what you need. It also includes the ppas.
why called madison?
The command `apt list -a ` is the equivalent of madison.
Here's why it's called _madison_ https://unix.stackexchange.com/questions/276037/why-apt-madison/276040#276040
The
rmadison
program from thedevscripts
package will remotely query the Ubuntu archive and give you the status of a package in all supported releases, not only those you have locally insatlled. This is slightly more than what you want, but should get the job done easily.Example:
[email protected]:~$ rmadison sudo sudo | 1.6.8p12-1ubuntu6 | dapper | source, amd64, i386, powerpc sudo | 1.6.8p12-1ubuntu6.3 | dapper-security | source, amd64, i386, powerpc sudo | 1.6.8p12-1ubuntu6.3 | dapper-updates | source, amd64, i386, powerpc sudo | 1.6.9p10-1ubuntu3 | hardy | source, amd64, i386 sudo | 1.6.9p10-1ubuntu3.8 | hardy-security | source, amd64, i386 sudo | 1.6.9p10-1ubuntu3.8 | hardy-updates | source, amd64, i386 sudo | 1.6.9p17-1ubuntu3 | jaunty | source, amd64, i386 sudo | 1.6.9p17-1ubuntu3.3 | jaunty-security | source, amd64, i386 sudo | 1.6.9p17-1ubuntu3.3 | jaunty-updates | source, amd64, i386 sudo | 1.7.0-1ubuntu2 | karmic | source, amd64, i386 sudo | 1.7.0-1ubuntu2.4 | karmic-security | source, amd64, i386 sudo | 1.7.0-1ubuntu2.4 | karmic-updates | source, amd64, i386 sudo | 1.7.2p1-1ubuntu5 | lucid | source, amd64, i386 sudo | 1.7.2p1-1ubuntu5.1 | lucid-security | source, amd64, i386 sudo | 1.7.2p1-1ubuntu5.1 | lucid-updates | source, amd64, i386 sudo | 1.7.2p7-1ubuntu1 | maverick | source, amd64, i386
before you can use
rmadison
you must install thedevscripts
package:sudo apt-get install devscripts
This only shows the main archives, but not the ppas
Very nice! But it also doesn't show unsupported packages, which are still available at http://old-releases.ubuntu.com/ I've asked about that at Information on package versions from old releases? - Ask Ubuntu - Stack Exchange
`rmadison ffmpeg` currently shows 14 lines of results, including "7:4.1.3-0ubuntu1", which is what I'm interested in ( https://launchpad.net/ubuntu/+source/ffmpeg/7:4.1.3-0ubuntu1 ) But then `sudo apt install ffmpeg=7:4.1.3-0ubuntu1` results in: "Reading package lists... Done Building dependency tree Reading state information... Done E: Version '7:4.1.3-0ubuntu1' for 'ffmpeg' was not found"
The command
apt list -a <package name>
is the equivalent of madison.
simple and working answer
I don't know how (or why) you said
apt-cache policy
doesn't show all versions! I'm using this for several years now and It always showed all versions including the priority number.Output of
apt-cache policy nautilus
nautilus: Installed: 1:3.18.5-0ubuntu1~xenial1 Candidate: 1:3.18.5-0ubuntu1~xenial1 Version table: *** 1:3.18.5-0ubuntu1~xenial1 500 500 file:/media/Linux/apt-repo/xenial1 Packages 500 http://ppa.launchpad.net/budgie-remix/ppa/ubuntu xenial/main amd64 Packages 500 http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu xenial/main amd64 Packages 100 /var/lib/dpkg/status 1:3.18.4.is.3.14.3-0ubuntu5 500 500 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages 1:3.18.4.is.3.14.3-0ubuntu4 500 500 file:/media/Linux/apt-repo/xenial1 Packages 500 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages 1:3.14.2-0ubuntu13 500 500 file:/media/Linux/apt-repo/wily Packages
Output of
apt-cache madison nautilus
nautilus | 1:3.18.5-0ubuntu1~xenial1 | file:/media/Linux/apt-repo/xenial1 Packages nautilus | 1:3.18.5-0ubuntu1~xenial1 | http://ppa.launchpad.net/budgie-remix/ppa/ubuntu xenial/main amd64 Packages nautilus | 1:3.18.5-0ubuntu1~xenial1 | http://ppa.launchpad.net/gnome3-team/gnome3/ubuntu xenial/main amd64 Packages nautilus | 1:3.18.4.is.3.14.3-0ubuntu5 | http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages nautilus | 1:3.18.4.is.3.14.3-0ubuntu4 | file:/media/Linux/apt-repo/xenial1 Packages nautilus | 1:3.18.4.is.3.14.3-0ubuntu4 | http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages nautilus | 1:3.14.2-0ubuntu13 | file:/media/Linux/apt-repo/wily Packages
Only difference is that
madison
took some more time thanpolicy
and shorter version. But,policy
is more useful to see which version get installed, which version is next candidate to be installed.That's why I'd suggest always using
apt-cache policy <package-name>
instead.Note about output: I have some local repository setup and both of the command shows those as well.
Note 2 Newer apt comes with policy integrated into them. So, you can use
apt
instead ofapt-cache
directly.
License under CC-BY-SA with attribution
Content dated before 6/26/2020 9:53 AM
maxisacoder 3 years ago
why called madison?