Difference between revisions of "Pkgfile (简体中文)"

From ArchWiki
Jump to navigation Jump to search
(update interlanguage links)
Tag: wiki-scripts
(Update translation.)
 
Line 10: Line 10:
 
[[pt:Pkgfile]]
 
[[pt:Pkgfile]]
 
[[ru:Pkgfile]]
 
[[ru:Pkgfile]]
{{TranslationStatus (简体中文)|Pkgfile|2013-06-15|262598}}
+
{{TranslationStatus (简体中文)|Pkgfile|2019-03-13|549364}}
工具'''pkgfile'''可以查出文件是由哪一个包提供的。
+
工具'''pkgfile'''是检查[[官方软件仓库]]中软件包文件的工具。
 +
 
 
==安装==
 
==安装==
可以从 [[Official repositories (简体中文)|官方软件仓库]] [[Pacman (简体中文)|安装]]软件包{{pkg|pkgfile}} , 或者从 [[AUR]] 安装 {{AUR|pkgfile-git}}。
+
[[Pacman (简体中文)|安装]]软件包{{pkg|pkgfile}} {{AUR|pkgfile-git}}。
  
然后以 root 权限更新文件数据库:
+
更新文件数据库:
  
 
  # pkgfile --update
 
  # pkgfile --update
  
 
== 示例 ==
 
== 示例 ==
查找哪个包包含名为 "makepkg" 的文件:
 
{{hc|$ pkgfile ''makepkg''|
 
core/pacman          #搜索的文件在 [core] 源的 {{Pkg|pacman}} 包中。}}
 
  
== 其它示例==
+
查找文件 "makepkg" 属于哪个软件包:
列出 [core] 源中 {{Pkg|archlinux-keyring}} 包包含的文件:
+
{{hc|$ pkgfile makepkg|
{{hc|$ pkgfile --list ''core/archlinux-keyring''|
+
core/pacman}}
 +
 
 +
列出 {{Pkg|archlinux-keyring}} 包含的所有文件:
 +
 
 +
{{hc|$ pkgfile -l archlinux-keyring|
 
core/archlinux-keyring usr/
 
core/archlinux-keyring usr/
 
core/archlinux-keyring usr/share/
 
core/archlinux-keyring usr/share/
Line 34: Line 36:
 
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}}
 +
 +
这个结果与 {{ic|pacman -Ql}} 类似(参考[[pacman#Querying package databases]]),只不过这个命令查询的是远程仓库中的软件包。
  
 
== "Command not found" 钩子 ==
 
== "Command not found" 钩子 ==
Line 51: Line 55:
 
source /usr/share/doc/pkgfile/command-not-found.zsh}}
 
source /usr/share/doc/pkgfile/command-not-found.zsh}}
  
==参阅==
+
== 自动更新 ==
* [[Bash#The_"command_not_found"_hook]]{{Broken section link}} - A section comparing {{Pkg|pkgfile}} and {{AUR|command-not-found}}
+
 
 +
'''pkgfile''' 提供了 [[systemd]] 服务和 [[systemd/Timers|定时器]],可以自动同步 pkgfile 数据库。要自动启动,请 [[enable|启用]] {{ic|pkgfile-update.timer}}.
 +
 
 +
默认情况下 pkgfile 每天更新一次,可以通过 [[systemd#Editing provided units|编辑单元文件]]进行配置。

Latest revision as of 07:32, 13 March 2019

翻译状态: 本文是英文页面 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 每天更新一次,可以通过 编辑单元文件进行配置。