root@host [/tmp]# yum install vnc-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.sanctuaryhost.com
* extras: mirror.ubiquityservers.com
* updates: mirror.ubiquityservers.com
Setting up Install Process
Package tigervnc-server-module-1.0.90-0.17.20110314svn4359.el6.x86_64 already installed and latest version
Nothing to do
然而,当我跑步时,rpm -q vnc-server
我得到:
root@host [/tmp]# rpm -q vnc-server
package vnc-server is not installed
root@host [/tmp]#
我在这里遵循说明
RPM 包有一种方法可以表明它们在安装过程中究竟提供了什么。这些“提供”通常是自动计算的,但也可以由打包者手动添加。通常,这样做是为了满足一般依赖性——例如,某些包可能需要一种发送邮件的方法,但它们并不真正关心您是否运行 postfix、sendmail、exim 或其他任何东西。为了解决这个问题,提供邮件传输能力的包有一个通用的“Provides: MTA”。
您可以检查您的系统:
您将看到这将返回 exim、postfix 和 sendmail。当多个包提供通用功能(如“vnc 服务器”)时,它们可以将其作为“手动提供”的一部分包含在内。在我们的例子中:
这将返回几个命中,其中 tigervnc-server 是一个。
您可以使用 列出包中的所有“提供”
rpm -q --provides
。例如:vnc-server
不是实际的包名称,而是别名tigervnc-server-module
(yum 说已经安装)。我不知道这个别名的确切定义位置,但我假设它是 rpm 程序不知道的任何东西的 yum 存储库。所以,你需要这样做。