使用yum安装同一软件包的多个版本?

3

我有一个装有奇怪版本 MySQL 的服务器,想在该节点上安装 collectd。不幸的是,collectd 依赖于 MySQL,并且由于其期望特定版本的 MySQL,而已安装的版本是独特的内部版本,导致安装失败。

是否可以安装第二个MySQL版本来解决 yum 错误?或者让 yum 认为它已经安装了?


哇,那有点严厉,我以为这个问题需要一些编程脚本或jar调整,这是编程的范畴。不管怎样,我得到了我需要的答案。 - Usman Ismail
1个回答

3
一般情况下,无法安装同一软件包的两个版本。这通常会导致无法解决的文件冲突,尽管有极少数情况下可以安装多个版本的软件包而不会发生冲突(例如kernel软件包)。
可以创建一个“虚拟”软件包来满足缺失的依赖关系,但这样做表明您系统上的某些东西基本上是损坏的(通常是因为有人安装了并不真正适用于您使用的特定发行版的软件)。您需要创建一个带有与依赖项匹配的Provides:行的规范文件,如下所示:
Provides: mysql = 5.5.22

从前我写了一个叫做fakeprovide的工具,可以帮助你处理这种事情……如果没有其他作用,它可能会给你提供一个模板规范文件。
你也可以获取collectd的源RPM并重新构建它,以与您系统上安装的版本的MySQL兼容。

谢谢,是的,有些东西出了问题,因为有人安装了5.5.22_Internal版本,这意味着任何依赖于5.5.22的东西现在都无法正常工作。希望Internal版本没有做出任何重大更改。 - Usman Ismail
最好的解决方案是重新构建本地的 mysql 包,并将名称中的 internal 部分移动到 release 标头中,而不是将其作为 version 的一部分。这可能会使一切都正常工作。 - larsks
很遗憾,由于政治原因,我们不能这样做,因为它属于另一个团队。叹气 - Usman Ismail

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接