Yum在安装rpm-ivh后不会解析依赖关系


  1. 我使用AWS EC2实例
  2. 我想设置一个版本为5.4.0的软件包,但yum search all --enablerepo epel提供的最新版本是5.0.0
  3. 因此,我在v5.4.0上做了wgetconfigure && make && make install,这在网上是可用的

由于我们做了很多实例的起起伏伏,因此该解决方案过于耗时(编译时间),无法在部署时成为可行的解决方案。

  1. 然后,我从5.4.0版本的tar.bz2构建了一个RPM。为了确保不同环境之间的库和依赖项没有什么不同,我在与部署AMI相同的实例上运行了rpmbuild
  2. 在测试服务器上构建并部署了RPM之后,我尝试安装gearmand,结果如下-
[ec2-user@ip-10-0-0-62~]$sudo yum-install--enablerepo=epel gearmand加载的插件:优先级,更新motd,升级助手由于存储库优先级保护,565个包被排除在外解析依赖项-->正在运行事务检查--->将安装成套齿轮箱.x86_64 0:1.1.8-2.el6-->处理依赖项:包gearmand-1.1.8-2.el6.x86_64的libmysqlclient.so.16(libmysqlclient_16)(64位)-->处理依赖项:程序包gearmand-1.1.8-2.el6.x86_64的libpq.so.5()(64位)-->处理依赖项:包gearmand-1.1.8-2.el6.x86_64的libmysqlclient.so.16()(64位)-->处理依赖项:包的libgearman.so.8()(64位):gearmand-1.1.8-2.el6.x86_64-->处理依赖项:程序包gearmand-1.1.8-2.el6.x86_64的libevent-1.4.so.2()(64位)-->处理依赖项:程序包gearmand-1.1.8-2.el6.x86_64的libboostrongystem.so.5()(64位)-->处理依赖项:程序包gearmand-1.1.8-2.el6.x86_64的libboost_program_options-mt.so.5()(64位)-->正在运行事务检查--->软件包兼容主机-编程选项。将安装x86_64 0:1.41.0-11.10.amzn1--->将安装软件包compat-host-system.x86_64 0:1.41.0-11.10.amzn1--->将安装程序包compat-libvent.x86_64 0:1.4.13-4.10.amzn1--->将安装成套齿轮箱.x86_64 0:1.1.8-2.el6-->处理依赖项:包gearmand-1.1.8-2.el6.x86_64的libmysqlclient.so.16(libmysqlclient_16)(64位)-->处理依赖项:包gearmand-1.1.8-2.el6.x86_64的libmysqlclient.so.16()(64位)--->将安装程序包libgearman.x86_64 0:1.1.8-2.el6--->将安装程序包postgresql9-libs.x86_64 0:9.2.5-1.37.amzn1-->已完成相关性解析错误:包:gearmand-1.1.8-2.el6.x86_64(epel)需要:libmysqlclient.so.16(libmysqlclient_16)(64位)错误:包:gearmand-1.1.8-2.el6.x86_64(epel)需要:libmysqlclient.so.16()(64位)你可以尝试使用--skip-breaked来解决这个问题你可以试着运行:rpm-Va-nofiles-nodigest

这让我怀疑RPM安装在某种意义上"冻结并阻塞"了它所依赖的库。我有这种感觉,因为在构建RPM时,该包期望比亚马逊或epel repos上的库版本更高的库版本。一些例子-

+-------------+-------------------+----------------+
|    name     |  amazon version   |  library wants |
+-------------+-------------------+----------------+
|   glibc     |       2.12        |      2.16      |
|   perl      |       5.10        |      5.18      |
|  python     |       2.6.9       |      2.7       |
+-------------+-------------------+----------------+

我在这里做错了什么吗?在构建RPM之前,我需要更改源代码/规范中的内容吗?因为这看起来只是冰山一角。

更改rpm规范文件,您可以在其中编辑所需的依赖项版本

最新更新