pkgfile - an alpm .files metadata explorer
Usage: pkgfile [operation] [options] target
pkgfile searches the .files metadata created by repo-add(8) to retrieve file information about packages. By default, the provided target is considered to be a filename and pkgfile will return the package(s) which contain this file. The repos which pkgfile searches is determined by those enabled in /etc/pacman.conf.
- -l, --list
The target is considered to be a package name rather than a filename, and the contents of the named package are returned. This allows for repo/package style syntax to limit the depth of the search.
- -s, --search
Search for packages containing the provided target. This is the default mode of operation.
- -u, --update
Update the stored metadata files. It is recommended to create a daily cron job with this command to ensure accurate results. By default, only modified repos will be downloaded. Pass this option twice to force update repo databases.
- -b, --binaries
Return only files which are contained within a bin or sbin directory.
- -d, --directories
Match directories in search results.
- -g, --glob
Enable shell-style glob pattern matching. See glob(7).
- -i, --ignorecase
Disable case sensitivity in matching.
- -r, --regex
Enable regular expression matching. See pcre(3).
- -R, --repo
Search only the specific repo.
- -0, --null
Delimit output with null bytes rather than newline characters.
- -q, --quiet
Output less. This applies to the --list operation.
- -v, --verbose
Output more. This applies to the --search operation.
- -w, --raw
Avoid justification of 2 column output.
- -z, --compress[=COMPRESSION]
Repack downloaded repos with the optionally supplied compression method, which may be one of none, gzip, bzip2, lzma, or xz. If this flag is passed without a compression method, this defaults to gzip. If this flag is not passed at all, no compression will be applied. Applying any form of compression will decrease performance, but may be desirable for disk space concerns.
In --search mode and without the --regex or --glob option, pkgfile will attempt to match the provided target as an exact filename. If the target contains a '/' character, a full path match will be attempted. With --regex and --glob enabled searching, pkgfile will always match against the full pathname. Note that full paths in the search database do not begin with a /.
In --list mode and without the --regex or --glob option, pkgfile will attempt to match the provided target as an exact package name. If the target contains a '/' character, the text before the slash will be assumed to be a repository and the search will be restricted. This behavior is disabled with --glob and --regex, and only matching against the package name will occur.
Storage location for metadata.
zsh and bash compatible functions which can be included in shell initalization to run pkgfile when an executed command is not found.
It is recommended that the .files databases are updated on a regular basis in order to ensure accurate results. This is easily accomplished by adding a cron job to run pkgfile with the --update flag daily.
repo-add(8), pcre(3), glob(7), pacman.conf(5)
Dave Reisner <email@example.com>