Linux如何根据文件名找到相应的安装包?
大家好,我是老吴,在这里给大家分享操作系统、网络、安全等专业知识!
对于Linux操作系统新手来说,在安装工具时往往会遇到以下问题:
1、看到别人在用一个工具很好用,但是不知道怎么安装。
2、自己编译源代码,却不知道需要安装哪个依赖包。
所以,接下来我给大家介绍两个好用的工具:repoquery(Redhat/CentOS……)及apt-file(Debian/Ubuntu/Kali……),希望能对Linux有用。
repoquery
1、根据文件名查找安装包
关键字支持通配符,这里我们查询结尾为repoquery的文件。查询执行文件前面加上bin/结果会更准确:
除了使用-f还可以使用--whatprovides参数,它提供了跟yum工具的whatprovides操作一样的功能:
有时候可能会查不到结果,此时可以加上--pkgnarrow=all参数,用于指定安装包的类型,可能的值有installed、available、recent、updates、extras、all以及repository,如果只搜索已经安装的包,可以指定--pkgnarrow为installed:
2、根据关键字查找安装包
当不加任何参数时,repoquery会返回匹配的安装包,也支持通配符:
如果要查看指定包的文件列表,可以使用-l参数,查看详细信息则使用-i参数:
3、repoquery跟rpm、yum命令的区别
虽然rpm及yum工具也提供了repoquery类似的功能,repoquery主要有以下优势:
- repoquery支持通配符搜索文件,rpm不支持。
- repoquery对整个repo源进行搜索,而rpm只能对已经安装的文件进行搜索。
- repoquery的体验要比yum及rpm好,速度快而且输出整洁。
所以,我还是更喜欢使用repoquery一些。
apt-file
apt-file工具是deb平台下类似于repoquery的工具,在使用之前需要先更新:
apt-file默认会自动添加通配符进行搜索,但使用-x参数使用正则搜索更好用:
如查看指定包的文件列表,可使用list操作,同样也支持-x参数进行正则匹配:
apt-file不能对本地安装包进行搜索,可改用dpkg命令:
以上是对repoquery及apt-file工具的简单介绍,喜欢的同学请点赞及加关注,谢谢!