pkgfile

来自 Arch Linux 中文维基

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