How to List All Available Packages from a Specific PPA Repository in Ubuntu/Debian


3 views

PPA (Personal Package Archive) repositories allow developers to distribute software updates directly to Ubuntu/Debian users. When working with third-party PPAs, you often need to check what packages they offer before installation.

To list all packages available from a specific PPA, use this command sequence:

sudo apt update
apt-cache policy | grep -A 2 "ppa.launchpadcontent.com/OWNER/REPO/ubuntu"

Replace OWNER and REPO with the actual PPA details. For example, if you want to check the WineHQ repository:

apt-cache policy | grep -A 2 "dl.winehq.org/wine-builds/ubuntu"

For a more comprehensive listing, install and use apt-show-versions:

sudo apt install apt-show-versions
apt-show-versions -a | grep -i "ppa.launchpadcontent.com"

Once you've identified interesting packages, get detailed information:

apt-cache show PACKAGE_NAME
apt-cache depends PACKAGE_NAME

Let's examine the ondrej/php PPA:

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
apt-cache search php | grep ondrej

Remember that package lists are architecture-dependent. Some packages might only appear on certain systems. Always check repository compatibility with your Ubuntu/Debian version before adding PPAs.


PPA (Personal Package Archive) repositories are third-party software sources commonly used in Ubuntu/Debian systems. Unlike official repositories, PPAs allow developers to distribute their packages directly to users. When working with PPAs, you'll often need to inspect available packages before installation.

The most precise way to list all packages from a specific PPA is using the apt-cache command after adding the repository:

sudo add-apt-repository ppa:repository-name/ppa
sudo apt update
apt-cache pkgnames | grep search-term

Alternatively, you can view all packages from the PPA without installing:

sudo add-apt-repository -y ppa:libreoffice/ppa
sudo apt update
apt-cache dump | grep -A 10 "Package:" | less

For more detailed information about packages in a PPA, use these commands:

# List all packages with descriptions
apt-cache search .

# Filter PPA-specific packages
apt-cache policy | grep -A 2 ppa.launchpadcontent.net

# View package versions
apt-cache showpkg package-name

If you prefer not to add the PPA to your system, you can inspect packages directly from Launchpad (where most PPAs are hosted):

# View package list via Launchpad API
curl -s https://api.launchpad.net/1.0/~user/+archive/ubuntu/ppa | jq '.package_count'

Let's examine packages in the popular Neovim PPA:

sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
apt-cache pkgnames neovim

# Sample output:
# neovim
# neovim-runtime
# neovim-qt

Remember to remove unused PPAs to keep your system clean:

sudo add-apt-repository --remove ppa:repository-name/ppa
  • Always update your package list (sudo apt update) after adding a PPA
  • Be cautious with unofficial PPAs as they may contain unstable software
  • Use apt-cache policy package-name to verify which repository a package comes from
  • Consider using apt list --upgradable to see available updates from all repositories