dpkg -S 不显示包中的所有文件

dpkg -S 不显示包中的所有文件

我一直用它dpkg -S <package_name>来列出包的内容。有时我会通过管道来grep bin快速扫描可执行文件。

我刚刚遇到了一个对我来说不起作用的情况:

$ which virtualenv
$ sudo apt-get install python-virtualenv
Reading package lists... Done
...
Setting up python-virtualenv (1.7.1.2-1) ...
$ which virtualenv
/usr/bin/virtualenv
$ dpkg -S /usr/bin/virtualenv 
python-virtualenv: /usr/bin/virtualenv
$ dpkg -S python-virtualenv | grep bin
$

/usr/bin/virtualenv似乎由 提供python-virtualenv,但未在 提供的软件包内容中列出dpkg -S。同时,传递/usr/bin/virtualenvdpkg -S返回文件来自python-virtualenv。你们能解释一下吗?

答案1

从该注释扩展(dpkg -S 仅显示哪个包提供了指定的文件):

是的,确实如此。因此,如果您执行 dpkg -S /bin/bash,它将报告 bash 包,而如果您执行 dpkg -S bash(假设 /bin 在您的路径中),它将执行相同的操作。

还请检查 apt-file,您必须先在大多数发行版上安装它,然后您可以运行“apt-file list”,它将显示您设置的存储库中的任何内容;即您不必先安装它。

相关内容