Difference between revisions of "Pkgfile"

From ArchWiki
Jump to: navigation, search
Line 10: Line 10:
  
 
Example:
 
Example:
$ pkgfile makepkg    # Search for a package that contains a file named 'makepkg'.
+
{{hc|$ pkgfile makepkg    # Search for a package that contains a file named 'makepkg'.|
core/pacman          # Your searched file is in the 'pacman' package in the [core] repository.
+
core/pacman          # Your searched file is in the 'pacman' package in the [core] repository.
 +
}}
  
 
Example 2:
 
Example 2:
$ pkgfile --list core/archlinux-keyring  # List all files provided by the 'archlinux-keyring' package in the [core] repository.
+
{{hc|$ pkgfile --list core/archlinux-keyring  # List all files provided by the 'archlinux-keyring' package in the [core] repository.|
core/archlinux-keyring usr/
+
core/archlinux-keyring usr/
core/archlinux-keyring usr/share/
+
core/archlinux-keyring usr/share/
core/archlinux-keyring usr/share/pacman/
+
core/archlinux-keyring usr/share/pacman/
core/archlinux-keyring usr/share/pacman/keyrings/
+
core/archlinux-keyring usr/share/pacman/keyrings/
core/archlinux-keyring usr/share/pacman/keyrings/archlinux-revoked
+
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-trusted
core/archlinux-keyring usr/share/pacman/keyrings/archlinux.gpg
+
core/archlinux-keyring usr/share/pacman/keyrings/archlinux.gpg
 +
}}
  
 
=="Command not found" hook==
 
=="Command not found" hook==

Revision as of 10:14, 21 August 2012

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

You can install it with pkgfile from the official repositories or with pkgfile-gitAUR from the Arch User Repository.

After installing the package, you should update the file list database as root:

# pkgfile --update

Example:

$ pkgfile makepkg     # Search for a package that contains a file named 'makepkg'.
core/pacman           # Your searched file is in the 'pacman' package in the [core] repository.

Example 2:

$ pkgfile --list core/archlinux-keyring   # List all files provided by the 'archlinux-keyring' package in the [core] repository.
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. E.g. for Bash:

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

And for Zsh:

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