查找指定文件属于哪个软件包
不知道有没有人发现,用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
就可以了。