How to get list of installable packages from repositories?

The command line way of obtaining such a list would be apt-cache:

apt-cache dump # short list
apt-cache dumpavail # long list

This will take some time due to the many packages available.

You can grep Package: by following command:

apt-cache dumpavail | grep "Package:"

My personal approach to view packages I can't remember still is installing and running Synaptic Install synaptic which has a searchable GUI and can also be used to install and purge a given package.


If it's in the official repository, you can search or browse all available packages via web: http://packages.ubuntu.com/

All packages for Ubuntu 12.10: http://packages.ubuntu.com/quantal/allpackages

Of course you can run apt-get update and apt-cache search keyword to search for packages if you remember anything related.

If it's a PPA or 3rd party, you'd better check the repo's URL and see the list. For example, Cassandra:

http://www.apache.org/dist/cassandra/debian/dists/11x/main/binary-amd64/

http://www.apache.org/dist/cassandra/debian/pool/main/c/cassandra/


It is possible to do it without messing with system configuration :

Target architectures for repositories are available in the InRealease file.

This is especially useful because with some repository management software, you cannot have http access to the repo.

Example with rabbitmq repo

deb https://packagecloud.io/rabbitmq/rabbitmq-server/debian/ stretch main

First, get InRelease file :

wget https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/InRelease

Once you've located what you want in that file (target arch), do the following :

wget -q -O- https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/main/binary-amd64/Packages | grep -E 'Package|Version'