如何创建支持重叠安装的 rpm B 文件的 rpm A?
How to create rpm A which support overlapping of installed rpm B files?
我想创建 rpm A,我的要求是每当我安装 rpm A 时,它都会替换一些已安装的 rpm B 的文件。
为此我们在 debian 中使用了
Provides: pkg C
Conflicts: pkg C
Replaces: pkg C
替换整个包,强制删除它们。
如何在 rpm 规范文件中执行此操作。
如果您希望 RPM B 消失,那么是的,同样的事情“Provides
”(让其他寻找 B 的 RPM 开心)和“Conflicts
”(强制卸载B).
如果你想让B留下来,除非你能做一些深奥的事情,否则你就不走运了。最简单的方法是执行类似 myorg-common
的操作,其中包含这些文件,然后是 myorg-a
和 myorg-b
,它们相互冲突但都需要 myorg-common
(并相互提供)。
有2个解。
重叠不在支持的 rpm 规范中,但我们可以使用命令行选项 rpm A --replacefile
。
在 RPM A 规范文件中使用 Obsoletes:
来删除旧包或冲突包,并在 RPM A 中添加 Provides:
以使 RPM B 满意。
注意:对于选项 2
rpm -i RPM A --> 不会废弃软件包。我们必须使用
yum 安装 RPM A 或 rpm -U RPM A
我想创建 rpm A,我的要求是每当我安装 rpm A 时,它都会替换一些已安装的 rpm B 的文件。
为此我们在 debian 中使用了
Provides: pkg C
Conflicts: pkg C
Replaces: pkg C
替换整个包,强制删除它们。
如何在 rpm 规范文件中执行此操作。
如果您希望 RPM B 消失,那么是的,同样的事情“Provides
”(让其他寻找 B 的 RPM 开心)和“Conflicts
”(强制卸载B).
如果你想让B留下来,除非你能做一些深奥的事情,否则你就不走运了。最简单的方法是执行类似 myorg-common
的操作,其中包含这些文件,然后是 myorg-a
和 myorg-b
,它们相互冲突但都需要 myorg-common
(并相互提供)。
有2个解。
重叠不在支持的 rpm 规范中,但我们可以使用命令行选项
rpm A --replacefile
。在 RPM A 规范文件中使用
Obsoletes:
来删除旧包或冲突包,并在 RPM A 中添加Provides:
以使 RPM B 满意。注意:对于选项 2 rpm -i RPM A --> 不会废弃软件包。我们必须使用 yum 安装 RPM A 或 rpm -U RPM A