2

嘿!我有一个需要配置文件的通用包和多个可以提供所述配置文件的包。

所以,要定义“myserver”,我有:

我的服务器规范

要求:myserver-config


(配置包)myserver-first-config.spec

名称:myserver-first-config

要求:我的服务器

提供:myserver-config


(另一个配置包)myserver-second-config.spec

名称:myserver-second-config

要求:我的服务器

提供:myserver-config


这很好,但我想确保安装了其中一个配置包。因此,如果我在已安装 myserver-first-config 的情况下尝试安装 myserver-second-config,则会出现错误。

我可以在 myserver-{first,second}-config.spec 中都使用“冲突:myserver-config”吗?包会与自身发生冲突吗?我觉得有一种“正确”的方法可以做到这一点......

谢谢!

4

1 回答 1

3

您可能已经自己解决了这个问题 - 在这种情况下,最好在这里发布答案,以帮助任何任性的谷歌访问者:) 否则:

  • 从 RPM v5 开始,包不能与自身发生冲突,因为这会阻止安装包。
  • 您要求的是“替代”系统,其中多个包可以提供相同的文件。要实现这一点,请让每个包与其他替代方案发生冲突。

在 myserver-first-config 中:
冲突:myserver-second-config

在 myserver-second-config 中:
冲突:myserver-first-config

如果您要添加第三个配置,这将变为:

myserver-first-config:
冲突:myserver-second-config myserver-third-config

myserver-second-config:
冲突:myserver-first-config myserver-third-config

myserver-third-config:
冲突:myserver-first-config myserver-second-config

这种语法是必要的,因为包可能会部分冲突——最好明确冲突。如果你不经常添加新的配置文件,这个解决方案是完全可行的。

于 2010-03-24T10:54:25.007 回答