“ipkg search xxx”总是不返回任何答案

“ipkg search xxx”总是不返回任何答案

在 Synology NAS(使用“自制”*nix 变体(可能基于 Debian?))上,我安装了 ipkg 软件包管理器。当我尝试像这样的命令时

ipkg search shred 

或者

ipkg search *shred* 

它只返回单行:

Successfully terminated

没有任何包名称。

我在示例中专门使用了 shred,因为我知道 shred 适用于我的平台,并且是 coreutils 包的一部分(因此应该返回该答案。)

出了什么问题?这是一个错误、我的语法错误还是可能有其他问题?

编辑 -

我找到了答案 - 文件名需要用单引号括起来,例如

ipkg search '*shred*'

这将返回正确的答案 - coretutils。

我还发现 Pavel 是正确的,它只返回信息已安装包,这不是我需要的。

如果我需要一个属于更大集合的给定程序/util,但不知道哪个包包含它,我将如何找到要安装的 pkg?

(这是允许的还是我应该开始另一个问题?)

答案1

我认为包元数据不包括文件列表。我相信ipkg search只是为了获取包名称已安装文件,类似于rpm -qf.您可能需要提供已安装文件的完整路径。

当寻找相关信息时核心工具包,您可能想尝试以下操作:

ipkg info coreutils
ipkg status coreutils
ipkg files coreutils

您还可以看到已安装和未安装的软件包的结果有何不同。

当搜索提供特定文件的已安装包时,您可以使用:

ipkg search /path/to/installed/file

正如您在编辑的问题中指出的那样,您必须使用星号如果您不想指定完整路径名,例如:

ipkg search \*file

ipkg search '*file'

在我看来,您无法获取不存在或尚未安装的文件的信息。

您可能还需要检查是否有已下载的包的元数据并下载它们:

ipkg update

如果我需要一个属于更大集合的给定程序/util,但不知道哪个包包含它,我将如何找到要安装的 pkg?

ipkg由于没有数据,无法在这里为您提供帮助。我认为您的发行版没有类似的工具apt-file可以作为解决方案。在这种情况下,您通常需要恢复使用网络搜索来获取此类信息。

资料来源:

免责声明:我只使用奥普克在 OpenWRT 上,非常接近ipkg

相关内容