How to find out which versions of a package can I install on APT
Solution 1
Just as an addendum
apt-cache madison <<package name>>
will list the versions available from all your sources.
apt-cache madison vim
vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources
madison
is an apt-cache
subcommand, man apt-cache
says:
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).
Solution 2
The apt-cache show <Package>
shows the package descriptions of all the versions your debian installation can install (i.e. from cached list of packages available from the repos listed in sources.list
). So I guess you could try something like (for e.g.):
# apt-cache show package | grep Version
Version 1.0
Version 0.9-2squeeze1
The apt-cache show
would give you much more info than just versions.
Solution 3
apt-cache policy gdb
Sample output:
gdb:
Installed: 7.7.1-0ubuntu5~14.04.2
Candidate: 7.7.1-0ubuntu5~14.04.2
Version table:
*** 7.7.1-0ubuntu5~14.04.2 0
500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
100 /var/lib/dpkg/status
7.7-0ubuntu3 0
500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
So we see that there are two versions of GDB available:
7.7.1-0ubuntu5~14.04.2
7.7-0ubuntu3
Meaning of the output:
- https://unix.stackexchange.com/questions/121413/understanding-the-output-of-apt-cache-policy
- https://askubuntu.com/questions/282602/what-do-the-numbers-in-the-output-of-apt-cache-policy-tell-us
Solution 4
A command that is specifically intended for this is apt-show-versions. You often have to install it, but then can run apt-show-versions -a and it will show you the version number, the distribution (i.e. testing, stable, unstable, backports, etc.) where that can be found, and finally tell you if the version you have installed is up to date or not.
It does not give you as much information as apt-cache, but gives you pretty much what you need, as you can then install from the correct repository (using aptitude / apt-get -t) or simply install using the correct version number in the form you noted.
Related videos on Youtube
Camilo Martin
Remember: don't take things too seriously. Especially online.
Updated on September 18, 2022Comments
-
Camilo Martin over 1 year
Using APT, you can install a specific version of a package using:
apt-get install package=1.0
But you can't do
apt-get install package=1.*
So, how can I find out which versions are avaliable for
package
on a specific repository, or in all repositories in my/etc/apt/sources.list
?-
rogerdpack over 9 years
-
-
Camilo Martin about 12 yearsThanks, will try out. Is it possible to downgrade?
-
Camilo Martin about 12 yearsIt seems to work, I just want to know if this would list packages whose versions are lower than what I currently have.
-
Rémi about 12 yearsyou can use apt-cache policy if only the version interest you.
-
Camilo Martin about 12 years@Rémi Thanks!! That command solved my next doubt, how to know where a package will come from. I was even searching already :)
-
Camilo Martin about 12 years+1, but while testing it on my girlfriend's box with an arbitrary example, it misses one of the versions that
apt-cache
picked: i.imgur.com/15be7.png -
ShankarG about 12 yearsThat's interesting, it seems to have skipped the oldest one. Perhaps your apt preferences are set to prefer testing?
-
Camilo Martin about 12 yearsI don't know? Where would I look to check if it prefers testing?
-
ShankarG about 12 yearsCheck the file /etc/apt/preferences
-
alpha almost 12 yearsparameter. Don't feel bad, it was one of those chance discoveries for me too. There's a web page (app?) on the Debian site which shows the same information, which I suppose was first, and someone coded it for apt-cache. Quite handy.
-
Camilo Martin almost 12 yearsWow, quite handy indeed. I'll change the accept to this because it's just what I wanted (at the time) and comes built-in without grepping it.
-
Cerin about 10 yearsThis doesn't work for all packages.
-
Dennis almost 9 yearsNow THAT is an AWESOME tidbit! tells version and repo, I love it!
-
Camilo Martin almost 9 yearsThanks, this seems more detailed than
apt-cache madison
(but harder to parse). -
nuoritoveri almost 8 yearsCan you install package for which line ends with
Sources
? How can you do it? -
alpha almost 8 years@nuoritoveri The Sources sources are repositories which contain the source code of the various programs and packages. The source code may be downloaded using the
apt-get source XYZZY
command to download the source for the XYZZY package. See the apt-get man page (man apt-get
) for more details. -
smac89 over 6 yearsReally,
madison
? Why notterry
? Thanks for this