我收到“dpkg-query:未找到匹配模式的路径”该如何解决这个问题?

我收到“dpkg-query:未找到匹配模式的路径”该如何解决这个问题?

我收到“dpkg-query:未找到匹配模式的路径”该如何解决这个问题?

我做了以下事情

更新包索引:

sudo apt-get update

安装 libdigest-md5-file-perl deb 包:

sudo apt-get install libdigest-md5-file-perl

当我尝试安装 libdigest-md5-file-perl 时,它说 libdigest-md5-file-perl 已经是最新版本

答案1

安装生成的文件是导致此错误消息的常见原因,如下所述:https://unix.stackexchange.com/questions/159001/how-to-find-the-package-that-installed-a-comand-if-dpkg-s-finds-no-path-beca

例如,/bin/nc安装包时出现netcat-openbsd

但:

dpkg -S /bin/nc

我们得到了dpkg-query: no path found matching pattern /bin/nc

发生这种情况是因为由调用/bin/nc生成update-alternativespostinst 脚本安装后运行。

其之所以能如此工作是因为/bin/nc该包提供了另一个版本netcat-traditional

我认为没有通用的方法来查找此类生成的文件。在替代符号链接的特定情况下,我们只需使用以下命令跟踪链接readlink -f

dpkg -S "$(readlink -f /bin/nc)"

答案2

如果您尝试查找实际提供这两个文件的包/etc/hosts/proc/1976那么就会出现此错误。

$ dpkg -S /etc/hosts
dpkg-query: no path found matching pattern /etc/hosts
$ dpkg -S /proc/1976
dpkg-query: no path found matching pattern /proc/1976

因为没有任何软件包旨在提供这两个文件。

在我看来,您在脚本中添加了上述两个命令,因此出现了错误。

相关内容