How to fix E: Couldn't find any package by glob 'package-name' in APT

APTBEGINNERLOWUpdated Aug 8, 2026· 644 views

The "Couldn't find any package by glob" error means apt cannot match the package name in any configured repository. Usual causes are typos, missing PPAs, or wrong naming.

Quick fix

Fixes E: Couldn't find any package by glob 'package-name'

sudo apt update
  1. Update your package lists
  2. Verify the correct package name
  3. Check if the package is available for your distribution
  4. Add the required PPA if needed
apt — error
sudo apt update
E: Couldn't find any package by glob 'package-name'

What this error means

The "Couldn't find any package by glob" error indicates that the apt package manager searched through all configured repositories and could not find any package matching the name you specified. Apt treats the argument as a name/glob pattern to look up in its package index, so when nothing matches you get this message. This can happen when the exact package doesn't exist, has been removed, is only available in a PPA you haven't added, or uses a different naming convention on your particular Linux distribution. The error is apt's way of telling you that the name doesn't match anything in the currently available package database.

Typical symptoms

  • apt install or apt-get install fails with 'Couldn't find any package by glob' message
  • A package that appears to exist online cannot be installed on your specific Ubuntu/Debian version
  • Different package names work on different distributions (e.g., pve-headers vs linux-headers on Proxmox)
  • Trying to install a local .deb file by name (without a path) produces the same error
  • Versioned packages (PHP, Python, etc.) cannot be found despite existing in a PPA

Common causes

  1. Package name is misspelled or uses the wrong case
  2. Package does not exist in your currently configured repositories
  3. Package is only available in a PPA (Personal Package Archive) that you haven't added
  4. Package lists are stale and 'apt update' has not been run since adding a repository
  5. Distribution-specific packages with different naming conventions (e.g., Proxmox VE uses pve-headers instead of linux-headers)
  6. Trying to install a local .deb file by name instead of by path (apt needs a path or ./ prefix to treat it as a file)
  7. Package version is not available for your distribution or OS release
  8. Package is not available for your CPU architecture (e.g., arm64, amd64)
  9. Repository has been deprecated or the package has moved to a different repository

How to fix "E: Couldn't find any package by glob 'package-name'"

1Update your package lists

Run apt update to refresh the package database so apt has the latest information about what is available:

bash
sudo apt update

This fetches the latest package lists from all configured repositories. Without this step, apt may have outdated information and miss packages that are actually available — especially right after adding a new repository.

2Verify the correct package name

Search for the package to find its exact name:

bash
apt-cache search package-name
# or
apt search package-name

This lists all packages whose name or description matches your search term. Copy the exact name from the output. Package names are case-sensitive and often include version numbers or suffixes (for example php8.3-cli rather than php).

3Check if the package is available for your distribution

Confirm which release you are running and whether the package targets it:

bash
lsb_release -a
# or
cat /etc/os-release

Some packages are only published for specific releases. For example, older PHP versions are not in the default repositories on newer Ubuntu releases and require a PPA. Check the package maintainer's documentation or the official repository to confirm availability for your release.

4Add the required PPA if needed

If the package only exists in a PPA, add it and refresh before installing:

bash
sudo add-apt-repository ppa:repository/name
sudo apt update
sudo apt install package-name

For example, to install a specific PHP version, use the widely-used Ondřej Surý PPA:

bash
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3

Review a PPA's owner and contents before adding it — a PPA can ship packages that override system ones, so only add sources you trust.

5Use distribution-specific package names

On specialized distributions the kernel and tooling packages are renamed, so check that distribution's documentation:

bash
# On Proxmox VE, use pve-headers instead of linux-headers
sudo apt install pve-headers-$(uname -r)

# On stock Ubuntu/Debian, linux-headers is correct
sudo apt install linux-headers-generic

Running apt-cache search on the machine itself is the most reliable way to discover the exact names your distribution provides.

6Use a path when installing a local .deb file

When installing a downloaded .deb, give apt a path so it knows the argument is a file rather than a package name to look up:

bash
# Correct: absolute path
sudo apt install /path/to/package_name.deb

# Correct: relative path with ./
sudo apt install ./package_name.deb

# Fails: bare filename is treated as a package name
sudo apt install package_name.deb

Without a / or ./ in the argument, apt searches the repositories for a package by that name and reports the glob error.

Advanced notes

The "glob" wording reflects that apt matches your argument against package names in its index, so a non-matching name produces this error rather than a "not found" for a file.

For architecture issues, inspect the system's architectures with dpkg --print-architecture and dpkg --print-foreign-architectures. On multi-arch systems you can request a specific build explicitly, e.g. sudo apt install package-name:amd64, but the architecture must be enabled (sudo dpkg --add-architecture i386 && sudo apt update) for it to resolve.

To preview what an install would do without changing anything, run a simulation with -s (also spelled --simulate / --dry-run):

bash
apt-get -s install package-name
# equivalently
sudo apt install -s package-name

There is no apt simulate subcommand — use the -s flag instead. To skip pulling in recommended (but non-essential) packages, add --no-install-recommends. For scripting, prefer apt-get over apt, since apt's output and behavior are intended for interactive use and may change between releases.

Frequently asked questions

What does "E: Couldn't find any package by glob 'package-name'" mean?
The "Couldn't find any package by glob" error indicates that the apt package manager searched through all configured repositories and could not find any package matching the name you specified. Apt treats the argument as a name/glob pattern to look up in its package index, so when nothing matches you get this message. This can happen when the exact package doesn't exist, has been removed, is only available in a PPA you haven't added, or uses a different naming convention on your particular Linux distribution.
How do I fix "E: Couldn't find any package by glob 'package-name'"?
The "Couldn't find any package by glob" error means apt cannot match the package name in any configured repository. Usual causes are typos, missing PPAs, or wrong naming.
What causes "E: Couldn't find any package by glob 'package-name'"?
Package name is misspelled or uses the wrong case Package does not exist in your currently configured repositories Package is only available in a PPA (Personal Package Archive) that you haven't added
Is the "E: Couldn't find any package by glob 'package-name'" error serious?
It is a low-severity error — more of a blocker than a risk. The steps above resolve it.

Official resources & further reading