我正在寻找提供特定二进制文件的软件包,因此可以安装它。我如何搜索以找出哪些软件包提供了此二进制文件? (注意:我知道至少有一种工具可以执行此操作,但是我忘记了它的名称。)

评论

如果有人想告诉我什么软件包提供了它,即使他们不知道问题的答案,我也在寻找的二进制文件是/ usr / sbin / ipset。

吉尔斯的答案是正确的。关于ipset,我只能在AUR aur.archlinux.org/packages.php?ID=16553
中找到它

#1 楼

从pacman 5.0开始,内置了使用-F选项搜索数据库的功能。首先更新数据库:

sudo pacman -Fy


然后,您可以查看哪个软件包包含$filename

pacman -F $filename

正在搜索确切的文件名或完整路径,或者

pacman -Fx $expr


$expr解释为正则表达式。

因为您知道如果您正在寻找与apt-file相当的东西,则可以在Pacman Rosetta中查找它。使用pacman -S pkgfile安装它,然后运行

sudo pkgfile -u


以更新数据库。要查看包含$filename的软件包,请运行

pkgfile $filename


评论


感谢罗塞塔石碑!我将其用于rpm发行版以及pacman。

– jpaugh
18年5月7日在21:20

在pacman v5.2中,现在只是pacman -F $ filename。 -s标志已被删除。

–尼古拉斯·罗兹(Nicholas Rhodes)
19年11月18日在19:35

#2 楼

google方法:

site:www.archlinux.org/packages/ bin/filename


,如果它在AUR中而不是官方包装中:

评论


一点也不差。

–ychaouche
2015年7月11日在2:04

大提示,这似乎产生了很好的效果。我使用以下URL在Chrome中创建了一个“搜索引擎”:https://www.google.com/search?q=site%3Awww.archlinux.org%2Fpackages%2F+%s。

–伯雷克·伯纳德(Borek Bernard)
18年7月5日在10:31

比公认的解决方案更好,最终解决了我的问题。谢谢!

–洪水
20年5月5日在16:23

#3 楼

来自ArchWiki:

$ pacman -Qo df

这将产生程序df的拥有包(在撰写本文时,为coreutils)。 -Qo仅对已安装的软件包及其程序起作用。

您可以在查询软件包数据库时看到更多参数。

评论


这只会告诉您什么软件包拥有文件,而不会告诉您需要安装什么文件才能获取文件。

– David C. Bishop
13年5月25日上午10:09

@ DavidC.Bishop难道不是一回事吗?

–维克多
2014年5月1日凌晨0:19

@Victor否,该软件包必须已经安装在系统上才能查询。

– David C. Bishop
2014年5月2日,下午1:31

@ DavidC.Bishop啊,我明白了,您的意思是“安装的软件包拥有文件”。谢谢!

–维克多
2014年5月2日14:52

请编辑您的帖子以反映评论中讨论的内容。

– Pompei2
17年11月4日在14:06