转载自:http://weimenlove.blog.163.com/blog/static/17775473201243104550894/


   学习Linux过程中,在网上或书上会看到一些命令,但是使用的系统并没有这些命令,需要安装相应的软件包,可以使用apt-file来对命令进行查询,来找出其所属的软件包。

$ sudo aptitude install apt-file

$ sudo apt-file update    <---更新索引,查询之前必做

比如要查询mkdosfs所属的软件包

$ apt-file search mkdosfs | egrepmkdosfs$    <---查找以mkdosfs结尾的文件,缩小搜索范围

dosfstools: /sbin/mkdosfs

$ sudo aptitude install dosfstools

$ sudo apt-file purge   <----清除缓存文件

$ apt-file list dosfstools      <---列出软件包的内容

该命令与dpkg -S的作用相似,不同的是dpkg -S只能查询系统已经安装过的,apt-file可以在软件源中进行查询。

或者直接通过网站:,可以通过:http://www.debian.org/distrib/packages查询。

  RedHat系统中类似的命令是:

$ sudo yum provides mkdosfs

$ yum list mkdosfs


Reference:

http://www.debuntu.org/how-to-find-missing-packages-with-apt-file    <---apt-file使用

http://bbs.chinaunix.net/thread-565919-1-1.html    <---字符串匹配

http://forums.fedoraforum.org/showthread.php?t=220912    <---yum provides