使用Ubuntu:此文件来自哪个软件包?

时间:2020-01-09 10:45:44  来源:igfitidea点击:

我们有多少次注意到文件位于目录中,并且想知道该文件来自何处?或者,我们正在尝试告诉朋友如何使用实用程序,但他没有安装该实用程序,并且我们不记得安装了哪个软件包才能获得该实用程序。

当然,我们可以前往Google,但我们是否总是想知道这些人怎么知道的?很简单,安装dlocate实用程序,对于这种类型的查询,它是dpkg的更快替代方案。

sudo apt-get install dlocate

我们可以将命令与语法dlocate <filename>'一起使用,这将为我们提供以下输出:

$ dlocate flac
libxine1: /usr/lib/xine/plugins/1.1.4/xineplug_flac.so
libtunepimp5: /usr/lib/tunepimp/plugins/flac.tpp
gstreamer0.10-plugins-good: /usr/lib/gstreamer-0.10/libgstflac.so
flac: /.
flac: /usr
flac: /usr/bin
flac: /usr/bin/flac
&#8212; trimmed &#8212;&#8212;

大量的输出!我们可以看到有很多文件名部分匹配。最好将完整路径传递给文件名。在这种情况下,我们可以使用哪个flac'来确定要使用的flac命令,然后将完整路径传递给dlocate。

$ which flac
/usr/bin/flac
$ dlocate /usr/bin/flac
flac: /usr/bin/flac

现在我们知道在名为flac的软件包中找到了flac命令。 (是的,这个例子非常简单)我们甚至可以发挥更大的创造力(使用1键旁边的字符,而不是单引号)

$ dlocate `which flac`
flac: /usr/bin/flac

如果我们不想安装其他实用程序,则可以使用内置的dpkg -S <filename>'命令,但是输出的速度或者组织度并不高。只需确保将文件的完整路径传递给任何一个实用程序,我们都将获得良好的结果。