![查找 apt 包管理器不知道文件夹中的哪些文件](https://linux22.com/image/92561/%E6%9F%A5%E6%89%BE%20apt%20%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%8D%E7%9F%A5%E9%81%93%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E7%9A%84%E5%93%AA%E4%BA%9B%E6%96%87%E4%BB%B6.png)
我发现了一个文件(例如“badfile”),其中/usr/bin
似乎不属于我的系统上安装的任何软件包:
$ dpkg -S /usr/bin/badfile
dpkg-query: no path found matching pattern /usr/bin/badfile
$ apt-file search /usr/bin/badfile
# nothing is returned
我想我想删除该文件或将其移动到/usr/local/bin
.话虽这么说,想必可能还有其他这样的文件。有没有办法列出/usr/bin/
Debianapt
软件包管理器不知道的某个存储库(此处为 )中的所有文件?
答案1
您可以传递多个文件名以dpkg -S
一次性报告所有文件
例如
dpkg -S /usr/bin/* > /dev/null
现在这并不完美;符号链接未得到正确报告
例如
dpkg-query: no path found matching pattern /usr/bin/lzdiff
这也意味着诸如指向的指针之类的东西alternatives
将被错误地报告,因为它们是符号链接。
如果您想减少误报,我们可以使用find
:
find /usr/bin -type f -exec dpkg -S {} + > /dev/null
在我的 Debian Jessie 机器上,这会导致
dpkg-query: no path found matching pattern /usr/bin/flash-player-properties