我发现了一个文件(例如“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