- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# pkgfile

From ArchWiki

pkgfile is a tool that tells you which package owns a specified file or which files a given package provides.

You can install pkgfile from the official repositories, or pkgfile-git from the AUR.

Then update the file database:

    # pkgfile --update

#### Example:

Example to search for a package that contains a file named "makepkg":

    $ pkgfile makepkg

    core/pacman

So your searched file is in the pacman package from the [core] repository.

Another example to list all files provided by the archlinux-keyring package from the [core] repository.:

    $ pkgfile --list core/archlinux-keyring

    core/archlinux-keyring usr/
    core/archlinux-keyring usr/share/
    core/archlinux-keyring usr/share/pacman/
    core/archlinux-keyring usr/share/pacman/keyrings/
    core/archlinux-keyring usr/share/pacman/keyrings/archlinux-revoked
    core/archlinux-keyring usr/share/pacman/keyrings/archlinux-trusted
    core/archlinux-keyring usr/share/pacman/keyrings/archlinux.gpg

### "Command not found" hook

pkgfile includes a "command not found" hook that will automatically search the official repositories, if you enter an unrecognized command.

To enable it in all children shells, you need to source the hook from one of your shell initialization files.

- Example for Bash:

    ~/.bashrc

    source /usr/share/doc/pkgfile/command-not-found.bash

- Example for Zsh:

    ~/.zshrc

    source /usr/share/doc/pkgfile/command-not-found.zsh

## See also

- Bash#The_"command_not_found"_hook - Section comparing pkgfile and command-not-found

Retrieved from "https://wiki.archlinux.org/index.php?title=Pkgfile&oldid=262598"
Categories:

- Package development
- Package management

## Navigation menu