首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是百胜困惑还是我?

是百胜困惑还是我?
EN

Stack Overflow用户
提问于 2017-01-25 08:30:29
回答 1查看 102关注 0票数 0

我正在Centos/RHEL 6上构建和安装自定义RPM。当部署在容器和am上时,一切都如预期的那样工作,然而,在生产盒上,我们有额外的内部存储库。yum install my.rpm导致与php70w-*的冲突

错误:php70w--与php的常见冲突--5.3.3-46.el6_7.1.x86_64--您可以尝试使用--跳过-断开来解决您可以尝试运行的问题: rpm -Va -nofiles-no文摘

由于RPM的要求,选择的php版本应该是5.3.3。php-gd列在强制执行以下操作的.spec中:

代码语言:javascript
复制
---> Package php-gd.x86_64 0:5.3.3-46.el6_7.1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-46.el6_7.1 for package: php-gd-5.3.3-46.el6_7.1.x86_64

有趣的是,如果我手动安装所有php-*包(与.spec文件中所列的完全相同),然后安装该包,一切都可以工作。(这将验证冲突是否与rest/non依赖关系无关)。注意,我在规范中有AutoReqProv: no .

问题:

  • 我假设yum将选择php 5.3.3,因为所有依赖项都满足了,没有冲突.为什么不这么做?
  • 如何才能防止仅针对my.rpm安装的这种行为?

我考虑过的解决办法是:

  • 在所有php需求中显式地声明版本<=5.4。然而,由于我不知道是什么使百胜选择第7版,我不确定这是否会奏效。此外,我更喜欢保持依赖版本-如果可能的话,减少依赖。一旦php 7中提供了所有必需的php模块,或者一旦我们的软件发生了变化,并且我们放弃了php-gd,最好移植到php 7,而不更改规范中的所有版本。
  • 在主机上的存储库定义中,我可以排除包。我想避免这种情况-我控制RPM规范,但是存储库是由sysadmins (使用木偶)设置的。
  • 指示傀儡先安装所有php依赖项,然后部署my.rpm。一个我不喜欢的解决方案,因为我们将安装分为两个步骤和两个不同的系统: puppet和rpm。

如有任何帮助和/或想法,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2017-02-01 19:28:32

php70w-common看起来像一个webtatic或原子回购包。

无论哪种方式,您都需要确定它属于什么回购,要么在安装时选择性地排除回购,要么配置存储库优先级。

您可以很容易地找到以下内容:

代码语言:javascript
复制
yum info php70w-common

我更喜欢轻重缓急的方法,它更干净,更便于携带。

https://wiki.centos.org/PackageManagement/Yum/Priorities

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41846692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档