pkgfile (简体中文)

From ArchWiki
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是检查官方软件仓库中软件包文件的工具。

安装

安装软件包pkgfilepkgfile-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 的配置文件中。

~/.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 每天更新一次,可以通过 编辑单元文件进行配置。