Linux查找提供某种命令的软件包:yum provides命令用法详解

  • Post category:Linux

yum provides是一个在CentOS或RHEL操作系统上基于RPM包管理器的工具。它可以帮助用户查找给定文件名的软件包或依赖项。该命令搜索已安装的软件包以及可用于安装的软件包提供所需文件,然后返回它们的名称和版本。

使用yum provides命令,可以快速找到特定文件所属的软件包,也可以查找要安装的软件包安装之前需要的依赖项。

以下是使用yum provides的两个示例说明:

1. 查找特定文件所属的软件包

假设您在系统中遇到了一个文件名为libreadline.so.6的 shared library,但您不确定这个文件属于哪个软件包。现在,您可以使用yum provides命令查找这个文件所属的软件包。可以使用以下命令:

yum provides libreadline.so.6

这个命令将返回像这样的输出:

readline-6.0-8.el6.x86_64 : Files needed for developing programs which use the readline library
Repo        : base
Matched from:
Filename    : /usr/lib64/libreadline.so.6

从输出中可以看到,libreadline.so.6属于readline-6.0-8.el6.x86_64软件包。这使得您可以快速找到、安装或升级此软件包。

2. 查找要安装的软件包所需的依赖项

如果您需要安装一个新软件包,但是系统缺少该软件包所依赖的一些库或工具。使用yum provides命令,您可以查找要安装的软件包所需的依赖项。例如,假设您想要安装htop工具,但是系统中没有安装htop所依赖的某个库。可以使用以下命令:

yum provides htop

这个命令将返回像这样的输出:

htop-2.2.0-3.el7.x86_64 : Interactive process viewer
Repo        : epel
Matched from:
Filename    : /usr/bin/htop

[...output truncated...]

ncurses-devel-5.9-14.20130511.el7_4.x86_64 : Developer's toolkit for wide character
                                            : enabled terminal applications
Repo        : base
Matched from:
Provides    : libtinfo.so.5()(64bit)

从输出中可以看到,htop软件包依赖于ncurses-devel库中的libtinfo.so.5文件。如果系统中没有安装此库,则可以使用以下命令安装该库:

yum install ncurses-devel

最后,可以安装htop软件包:

yum install htop

使用yum provides命令可以方便地查找给定文件名的软件包或依赖项,从而帮助您快速检查系统中软件安装的依赖关系。