yum-安装包强制替换文件

yum-安装包强制替换文件

我想使用 yum 安装一个软件包,而不是使用 rpm,但使用与--replacefilesrpm 相同的行为。我有一个软件包与其他软件包有文件冲突,我需要使用 yum 强制安装。这个软件包是我的,所以我可以修改 spec 文件。

答案1

您可以使用触发脚本为了这。

为了说明,假设该文件/etc/contested由名为 的 rpm 所有generally,并且您有另一个包(specifically)想要强制覆盖同一个文件。

在 中specifically.spec,您将文件的新版本安装到%{_datadir}/%{name}/etc.contested,并使用此触发器脚本将其安装到/etc

%triggerin -- generally install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested

该脚本将在每次generally安装或更新时运行,以及每次specifically安装或更新时运行。

RPM 仍会注意到文件不符合预期,但不会阻止您安装或卸载。

答案2

如果您可以修改 spec 文件,也许您可​​以删除文件部分中冲突的文件?您是否在该部分指定了文件夹?还是逐个文件指定?

相关内容