How to fix E: Couldn't find any package by glob 'package-name' in APT
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- Update your package lists
- Verify the correct package name
- Check if the package is available for your distribution
- Add the required PPA if needed
sudo apt updateE: 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
- 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
- Package lists are stale and 'apt update' has not been run since adding a repository
- Distribution-specific packages with different naming conventions (e.g., Proxmox VE uses pve-headers instead of linux-headers)
- 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)
- Package version is not available for your distribution or OS release
- Package is not available for your CPU architecture (e.g., arm64, amd64)
- 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'"
Run apt update to refresh the package database so apt has the latest information about what is available:
sudo apt updateThis 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.
Search for the package to find its exact name:
apt-cache search package-name
# or
apt search package-nameThis 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).
Confirm which release you are running and whether the package targets it:
lsb_release -a
# or
cat /etc/os-releaseSome 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.
If the package only exists in a PPA, add it and refresh before installing:
sudo add-apt-repository ppa:repository/name
sudo apt update
sudo apt install package-nameFor example, to install a specific PHP version, use the widely-used Ondřej Surý PPA:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3Review a PPA's owner and contents before adding it — a PPA can ship packages that override system ones, so only add sources you trust.
On specialized distributions the kernel and tooling packages are renamed, so check that distribution's documentation:
# 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-genericRunning apt-cache search on the machine itself is the most reliable way to discover the exact names your distribution provides.
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:
# 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.debWithout 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):
apt-get -s install package-name
# equivalently
sudo apt install -s package-nameThere 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.