LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

whohas

Query package availability across many Linux distributions

TLDR

Search for a package across all supported distributions
$ whohas [package_name]
copy
Restrict the search to specific distributions
$ whohas -d [debian,ubuntu,arch] [package_name]
copy
Match the package name exactly
$ whohas --strict [package_name]
copy
Speed up the search at the cost of some details
$ whohas --shallow [package_name]
copy
Disable multi-threaded queries
$ whohas --no-threads [package_name]
copy

SYNOPSIS

whohas [--no-threads] [--shallow] [--strict] [-d Dist1[,Dist2[,Dist3]]] pkgname

DESCRIPTION

whohas is a command-line tool that queries package lists from many Linux and BSD distributions in parallel and prints the results in a uniform format. It is intended to make it easy to discover which distributions ship a given package, at what version, and how big it is, without visiting each distribution's website.Supported distributions include Arch Linux, Debian, Fedora, Gentoo, Mageia, Mandriva, openSUSE, Slackware, Source Mage, Ubuntu, FreeBSD, NetBSD, OpenBSD, Fink, MacPorts, and Cygwin.By default each repository is queried concurrently to keep latency low; the --no-threads option falls back to sequential lookups when this is undesirable.

PARAMETERS

--no-threads

Disable multi-threaded queries (slower but easier to debug or rate-limit).
--shallow
Limit to one call per server. Faster, but loses some information such as package size and release date.
--strict
List only packages whose name exactly matches pkgname.
-d DIST[,DIST...]
Restrict queries to the given distributions. Accepted values include archlinux, debian, ubuntu, fedora, opensuse, gentoo, mageia, mandriva, slackware, sourcemage, freebsd, netbsd, openbsd, fink, macports, cygwin.
pkgname
The package name (or substring, unless --strict is given) to search for.

CAVEATS

whohas scrapes upstream package indexes; if a distribution changes the format of its index, queries may temporarily return stale or incorrect data until whohas is updated. Some servers may rate-limit aggressive concurrent queries — use --no-threads if you hit such limits.

HISTORY

whohas was written by Philipp L. Wesche as a Perl script to ease cross-distribution package discovery. It is packaged for many distributions and is commonly used by maintainers checking which distros already ship a piece of software before submitting a new package.

SEE ALSO

apt-cache(8), dpkg-query(1), pacman(8), dnf(8)

Copied to clipboard
Kai