为什么你可以用Yum以不同的名字安装相同的软件包

时间:2011-12-20 19:28:30

标签: apache centos rpm yum centos6

On Centos 6我可以做

# yum install webserver

# yum install httpd

这两个命令都将安装httpd(apache)

我正在构建一个RPM,我不知道应该使用哪个或者为什么它们不同。 包是否有一个“通用”名称,您可以通过它来解决它们?例如,如果你安装了lighttpd,它可以提供webserver包吗?

1 个答案:

答案 0 :(得分:1)

RPM提供了很多东西。是本机库引用,perl模块等。所有都是在构建RPM时计算的。

但您也可以在spec文件(用于构建RPM的文件)中自行提供内容,如:

Provides: blablabla

因此,这意味着httpd包具有:

Provides: webserver

在其spec文件中。

您可以查询已安装的软件包提供的内容:

rpm -q --provides pkgnamehere

但你也可以问一下什么包提供了什么:

rpm -q --whatprovides theprovidedname

最后,您可以询问yum提供的内容:

yum whatprovides webserver
yum whatprovides grep
yum whatprovides /usr/bin/find
# etc etc