例如,我可以轻松找到locate命令属于mlocate.i386包。
yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1
yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name
但要找到 free 命令属于哪个包却不那么容易:
yum search free // this command just returns too much informationy
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1 // obviously not the package by which free command is installed
那么,有没有方便的方法可以知道特定命令属于 Linux 上的哪个包?例如 CentOS 或其他一些发行版
答案1
查询 rpmdb。
rpm -qf $(which free)
答案2
Ubuntu/Debian检查命令包的示例free
:
dpkg -S $(which free)
答案3
对于 CentOS,yum 提供什么?
使用
which free
找出它在哪里
对我来说
/usr/bin/免费
那么你可以运行
yum provides /usr/bin/free
它会告诉你哪个包有它
答案4
对于所有基于 Red Hat 的发行版,你可以使用 yum 包管理实用程序
yum provides `which free`
提供参数指定哪个包提供某个功能或文件。