当RPM包安装遇上“依赖性”问题时的解决办法

预备安装的是一部LAMP(Linux+Apache+MySQL+PHP)服务器,系统使用Redhat Enterprise Linux AS4 Update4进行最小系统安装(Mini),然后在上面手动安装其它包,结果在安装Apache的时候就遇到了:
# rpm -ivh httpd-2.0.52-25.ent.i386.rpm
出现提示:
error: Failed dependencies:
httpd-suexec is needed by httpd-2.0.52-25.ent.i386
Suggested resolutions:
httpd-suexec-2.0.52-25.ent.i386.rpm
出错提示为:
错误:依赖关系失败;
httpd这个包需要httpd-suexec先行安装于系统;
解决提示:先安装httpd-suexec包
 
好,等我反过来,先运行:
# rpm -ivh httpd-suexec-2.0.52-25.ent.i386.rpm
出现提示:
error: Failed dependencies:
httpd = 2.0.52-25.ent is needed by httpd-suexec-2.0.52-25.ent.i386
Suggested resolutions:
httpd-2.0.52-25.ent.i386.rpm
出现了完全相反的提示,httpd-suexec包需要先行安装httpd包……
 
反复试了几次都这样,当时就傻眼了,甲安装的时候需要乙,而乙安装的时候又说需要甲……
 
后来在ChinaUnix论坛一位前辈的指导下,使用RPM管理器的--aid参数,尝试让RPM管理器自行解决包依赖关系问题,终于获得成功,并且一次性就把2个包一起安装到了系统中……
 
操作指令为:
# rpm -ivh --aid httpd-2.0.52-25.ent.i386.rpm
 
注意,--aid参数和-ivh不同,有2个“减号”……
 
安装过程中RPM先安装httpd包,在遇到与httpd-susexec包有依赖性的时候自动安装httpd-susexec包中的部分,1条指令结束后2个包就都安装到了系统中……
 
通过RPM管理器查询:
# rpm -qa | grep httpd
httpd-2.0.52-25.ent.i386.rpm
httpd-suexec-2.0.52-25.ent.i386.rpm

注:这篇文章有个地方不太明白,当运行# rpm -ivh httpd-2.0.52-25.ent.i386.rpm时,如果所需要的一个文件没有,系统会给个suggested revolution么?我自己在实验的时候好像没遇到过系统这样的提示啊~~大家有类似经历或者经验的可以分享下。

你可能感兴趣的:(linux)