# pkgfile (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

翻译状态：本文是 Pkgfile 的翻译。上次翻译日期：2019-03-13。如果英文版本有所更改，则您可以帮助同步翻译。

工具pkgfile是检查官方软件仓库中软件包文件的工具。

## 安装

安装软件包pkgfile 或 pkgfile-gitAUR。

更新文件数据库:

    # pkgfile --update

## 示例

查找文件 "makepkg" 属于哪个软件包:

    $ pkgfile makepkg

    core/pacman

列出 archlinux-keyring 包含的所有文件：

    $ pkgfile -l 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

这个结果与 `pacman -Ql` 类似(参考pacman#Querying package databases)，只不过这个命令查询的是远程仓库中的软件包。

## "Command not found" 钩子

pkgfile 包含一个叫做 "command not found" 的钩子，它会在你键入一个未知命令的时候自动在官方源中搜索。

要在所有的shell中启用它，需要将钩子的 source 添加到你的 shell 的配置文件中。

- 在 Bash 中启用:

    ~/.bashrc

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

- 在 Zsh 中启用:

    ~/.zshrc

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

## 自动更新

pkgfile 提供了 systemd 服务和 定时器，可以自动同步 pkgfile 数据库。要自动启动，请 启用 `pkgfile-update.timer`.

默认情况下 pkgfile 每天更新一次，可以通过 编辑单元文件进行配置。

Categories:

- Package development (简体中文)
- Package management (简体中文)