回忆之城
生命在于折腾
posts - 575,comments - 9,trackbacks - 0
     之前我在介绍RPM包安装的方法时曾经提到过RPM包是有依赖性要求的(《RPM包管理器使用入门》),有一些RPM包在安装的时候会先检查自身所需要的其它包或库是否已经安装,如果没有则拒绝进行安装,不巧这几天尝试安装一部基于Linux的服务器时就遇上了……
 
      预备安装的是一部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
 
      OK,一次非常有趣的安装经历……
 
      当RPM包安装遇上“依赖性”问题…… 其它软件模块的安装正在学习、尝试、失败、成功中……
posted on 2014-04-26 23:54 回忆之城 阅读(147) 评论(0)  编辑 收藏 引用 所属分类: unix/linux
只有注册用户登录后才能发表评论。