如何搜索所有 snap 包中的文件名?

如何搜索所有 snap 包中的文件名?

snap 相当于发行什么

apt-file search X11/extensions/XKBrules.h # header file some repo uses who's compile fails as it cannot find this file

# ... above returns with

libxkbfile-dev: /usr/include/X11/extensions/XKBrules.h

上面让我识别哪个 Ubuntu 包libxkbfile-dev包含文件/usr/include/X11/extensions/XKBrules.h

上面的美妙之处在于它搜索所有包,而不仅仅是那些已经安装的包

如何识别哪个 snap 包包含给定的文件名?(即使我还没有安装那个 snap 包)


在新机器上,为了使上述 apt 文件正常工作,必须运行以下命令来安装所有 Ubuntu 软件包的最新索引

sudo apt install apt-file -y  && sudo apt-file update

我正在寻找与此功能等效的 snap 包

... 为什么?一个常见的用例是:如果我正在编译其他人的代码,并且缺少头文件,那么我需要知道要安装哪个包来获取缺少的头文件(假设缺少的文件实际上位于包中,Ubuntu 包中通常如此,并且随着项目迁移到 snap,这种情况会越来越多)

答案1

我在 2018 年报告过两个相关的错误:

并且都标记为愿望清单因此此功能尚未实现。

理论上,这command-not-found可能有助于找到具有已知可执行文件的相关快照名称,但我还不知道如何自动化它。

答案2

dpkg --listfiles <pkg>(-L) 似乎也适用于 Snaps。它可以使用 反向搜索文件中的包dpkg -S <file>

相关内容