查找指定文件属于哪个软件包

Published: Tags: SHELL

不知道有没有人发现,用apt-get source basename是不能下载basename的源码包的。 之所以这样,是因为它并不属于一个单独的软件包,那好,我们来说说如何下载类似basename和ls这样程序的源码包。

以前曾经写过一篇类似的文章,不过方法不太好,因为Ubuntu系列没有安装apt-file的包,至于其他的Linux发行版的情况,我就不是很清楚了。

下面的方法适合所有的Debian系列程序,终端命令是: 输入:dpkg -S basename |grep -w `which basename` 输出:coreutils: /usr/bin/basename

我来解释一下: dpkg -S 的用处是 Find package(s) owning file(s) grep -w 是用于强制匹配完整单词的 >which 是寻找指定包所在路径的命令 basename 就是你想要下载其源码的程序 coreutil 自然就是该程序所在的包的名字

所以,你想下载basename程序的源码,只需要apt-get source coreutils就可以了。